/* Two purchase frames; opened answers and larger text may extend the second. */
.purchase-page #main-content {
  display:flex;
  flex-direction:column;
  min-height:200dvh;
}
.purchase-page .purchase-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:minmax(0,1fr);
  grid-template-areas:"summary";
  align-items:center;
  flex:0 0 auto;
  height:100dvh;
  min-height:min-content;
  padding:calc(var(--header-height) + 24px) var(--page-pad) 88px;
  overflow:visible;
}
.purchase-page .purchase-gallery {
  position:absolute;
  inset:0;
  height:auto;
  min-height:0;
  max-height:none;
  overflow:hidden;
}
.purchase-page .purchase-summary {
  grid-area:summary;
  width:42%;
  max-width:480px;
  min-width:0;
  padding:0;
}
.purchase-page .purchase-summary h1 { font-size:clamp(40px,4.1vw,60px); }
.purchase-page .purchase-stock,
.purchase-page .payment-type,
.purchase-page .purchase-policy { font-size:11px; }
.purchase-page .purchase-included {
  flex:1 0 auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-block:calc(var(--header-height) + 20px) 28px;
}
.purchase-page .included-heading { margin-bottom:24px; gap:24px; }
.purchase-page .included-heading h2 { font-size:clamp(28px,2.5vw,36px); }
.purchase-page .preorder-inclusions {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(20px,3vw,50px);
}
.purchase-page .preorder-inclusions li { padding:16px 0 0; }
.purchase-page .preorder-inclusions li>span { margin-bottom:10px; }
.purchase-page .preorder-inclusions li>div { font-size:13px; line-height:1.5; }
.purchase-page .preorder-inclusions strong { margin-bottom:5px; font-size:15px; line-height:1.35; }
.purchase-page .purchase-delivery-note { margin-top:18px; font-size:12px; line-height:1.5; }
.purchase-page .purchase-faq {
  flex:0 0 auto;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  align-items:start;
  gap:clamp(28px,5vw,80px);
  padding-block:24px max(28px,env(safe-area-inset-bottom));
}
.purchase-page .purchase-faq h2 { font-size:clamp(28px,2.5vw,34px); }
.purchase-page .faq-list summary { min-height:46px; padding-block:12px; font-size:14px; line-height:1.4; }
.purchase-page .faq-list details:first-child summary { padding-top:12px; }
.purchase-page .faq-list details p { font-size:13px; }
.purchase-page .contact-form .form-note,
.purchase-page .contact-form .form-status { font-size:12px; }

/* Keep the actual product image beside RTL copy without reflecting its branding. */
@media(min-width:901px) and (min-height:561px) and (orientation:landscape) {
  html[dir="rtl"] .purchase-page .site-header { background:var(--paper); }
  html[dir="rtl"] .purchase-page .purchase-gallery {
    inset:0 auto 0 0;
    width:56%;
  }
  html[dir="rtl"] .purchase-page .purchase-visual { background:var(--paper); }
  html[dir="rtl"] .purchase-page #purchase-scene img {
    position:static;
    width:100%;
    object-fit:cover;
    object-position:85% center;
    mask-image:none;
  }
  html[dir="rtl"] .purchase-page #purchase-scene::after {
    background:linear-gradient(270deg,var(--paper),rgba(237,236,230,0) 22%);
  }
  html[dir="rtl"] .purchase-page #purchase-product img {
    right:4%;
    left:4%;
    width:92%;
  }
  html[dir="rtl"] .purchase-page .purchase-views,
  html[dir="rtl"] .purchase-page .purchase-visual figcaption {
    right:auto;
    left:var(--page-pad);
  }
  html[dir="rtl"] .purchase-page .purchase-stage-note {
    right:var(--page-pad);
    left:auto;
  }
}

@media(max-width:900px), (max-aspect-ratio:1/1) {
  body.purchase-page { --header-height:68px; }
  .purchase-page .purchase-layout {
    grid-template-rows:minmax(0,1fr) auto;
    grid-template-areas:"gallery" "summary";
    align-items:stretch;
    height:100dvh;
    min-height:min-content;
    padding:0;
  }
  .purchase-page .purchase-gallery {
    grid-area:gallery;
    position:relative;
    inset:auto;
    width:100%;
    height:auto;
    min-height:0;
  }
  .purchase-page .purchase-summary {
    width:100%;
    max-width:none;
    padding:18px var(--page-pad) max(20px,env(safe-area-inset-bottom));
  }
  .purchase-page .purchase-summary .eyebrow { font-size:10px; line-height:1.5; }
  .purchase-page .purchase-summary h1 { max-width:none; margin-top:10px; font-size:clamp(30px,5.8vw,44px); line-height:1.06; }
  .purchase-page .purchase-intro { max-width:38ch; margin-top:9px; font-size:13px; line-height:1.5; }
  .purchase-page .purchase-price-block { margin-top:14px; }
  .purchase-page .preorder-price { font-size:30px; }
  .purchase-page .payment-type { margin-top:5px; line-height:1.5; }
  .purchase-page .purchase-stock { margin-top:7px; line-height:1.5; }
  .purchase-page .preorder-checkout { max-width:440px; min-height:48px; margin-top:12px; padding-block:13px; font-size:13px; }
  .purchase-page .purchase-policy { max-width:440px; margin-top:8px; line-height:1.5; }
  .purchase-page .purchase-views { bottom:10px; gap:24px; }
  .purchase-page .purchase-views button { min-height:44px; font-size:11px; }
  .purchase-page .purchase-visual figcaption { bottom:61px; font-size:9px; }
  .purchase-page #purchase-product img { top:calc(var(--header-height) + 8px); height:calc(100% - var(--header-height) - 84px); }
  .purchase-page .purchase-included { padding-block:calc(var(--header-height) + 16px) 22px; }
  .purchase-page .included-heading { display:block; margin-bottom:18px; }
  .purchase-page .included-heading h2 { margin-top:10px; font-size:28px; }
  .purchase-page .preorder-inclusions { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 28px; }
  .purchase-page .purchase-faq { grid-template-columns:1fr; gap:16px; padding-top:20px; }
}

@media(max-width:600px) {
  body.purchase-page { --header-height:64px; }
  .purchase-page .purchase-summary { padding-top:16px; }
  .purchase-page .purchase-summary h1 { font-size:30px; }
  .purchase-page .preorder-checkout,
  .purchase-page .purchase-policy { max-width:none; }
  .purchase-page .purchase-included { padding-block:calc(var(--header-height) + 12px) 18px; }
  .purchase-page .included-heading { margin-bottom:12px; }
  .purchase-page .included-heading h2 { margin-top:7px; font-size:26px; }
  .purchase-page .preorder-inclusions { grid-template-columns:minmax(0,1fr); gap:0; }
  .purchase-page .preorder-inclusions li { display:grid; grid-template-columns:20px minmax(0,1fr); gap:12px; padding-block:10px; }
  .purchase-page .preorder-inclusions li>span { margin:0; padding-top:1px; }
  .purchase-page .preorder-inclusions li>div { max-width:none; font-size:13px; line-height:1.4; }
  .purchase-page .preorder-inclusions strong { font-size:14px; margin-bottom:3px; line-height:1.3; }
  .purchase-page .purchase-delivery-note { margin-top:10px; font-size:12px; }
  .purchase-page .purchase-faq { padding-block:18px max(20px,env(safe-area-inset-bottom)); gap:12px; }
  .purchase-page .purchase-faq h2 { font-size:26px; }
  .purchase-page .faq-list summary { font-size:13px; padding-block:11px; }
}

/* Short landscape screens retain readable copy beside the product. */
@media(min-width:601px) and (max-height:560px) {
  .purchase-page #main-content {
    display:grid;
    grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);
    grid-template-rows:minmax(100dvh,max-content) minmax(100dvh,auto);
    align-items:stretch;
    min-height:200dvh;
  }
  .purchase-page .purchase-layout {
    grid-column:1 / -1;
    grid-row:1;
    grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
    grid-template-rows:minmax(0,1fr);
    grid-template-areas:"gallery summary";
    align-items:center;
    height:100dvh;
    padding:calc(var(--header-height) + 4px) var(--page-pad) 12px;
    gap:24px;
  }
  .purchase-page .purchase-gallery {
    grid-area:gallery;
    position:relative;
    inset:auto;
    width:100%;
    height:100%;
    min-height:0;
  }
  .purchase-page #purchase-scene::after { display:none; }
  .purchase-page #purchase-scene img { position:static; width:100%; height:100%; object-fit:cover; object-position:85% center; mask-image:none; }
  .purchase-page #purchase-product img { top:0; right:0; width:100%; height:calc(100% - 72px); object-fit:contain; mask-image:none; }
  .purchase-page .purchase-summary { width:100%; max-width:none; padding:0; }
  .purchase-page .purchase-summary .eyebrow { font-size:10px; line-height:1.4; }
  .purchase-page .purchase-summary h1 { font-size:30px; margin-top:6px; line-height:1.04; }
  .purchase-page .purchase-intro { margin-top:7px; font-size:13px; line-height:1.4; }
  .purchase-page .purchase-price-block { margin-top:10px; }
  .purchase-page .preorder-price { font-size:28px; }
  .purchase-page .payment-type { margin-top:4px; font-size:11px; line-height:1.4; }
  .purchase-page .purchase-stock { margin-top:5px; font-size:11px; line-height:1.4; }
  .purchase-page .preorder-checkout { min-height:44px; margin-top:9px; padding:10px 18px; font-size:13px; }
  .purchase-page .purchase-policy { margin-top:6px; font-size:11px; line-height:1.4; }
  .purchase-page .purchase-views { right:12px; left:12px; justify-content:center; gap:20px; bottom:5px; }
  .purchase-page .purchase-visual figcaption { bottom:53px; right:12px; font-size:9px; }
  .purchase-page .purchase-stage-note { display:none; }
  .purchase-page .purchase-included {
    grid-column:1;
    grid-row:2;
    justify-content:center;
    padding:calc(var(--header-height) + 12px) 20px 18px var(--page-pad);
  }
  .purchase-page .included-heading { display:block; margin-bottom:12px; }
  .purchase-page .included-heading h2 { margin-top:7px; font-size:26px; }
  .purchase-page .preorder-inclusions { grid-template-columns:minmax(0,1fr); gap:0; }
  .purchase-page .preorder-inclusions li { display:grid; grid-template-columns:18px minmax(0,1fr); gap:10px; padding-block:6px; }
  .purchase-page .preorder-inclusions li>span { margin:0; }
  .purchase-page .preorder-inclusions li>div { max-width:none; font-size:12px; line-height:1.4; }
  .purchase-page .preorder-inclusions strong { margin-bottom:2px; font-size:13px; line-height:1.3; }
  .purchase-page .purchase-delivery-note { margin-top:8px; font-size:11px; line-height:1.4; }
  .purchase-page .purchase-faq {
    grid-column:2;
    grid-row:2;
    grid-template-columns:minmax(0,1fr);
    align-content:center;
    gap:16px;
    padding:calc(var(--header-height) + 12px) var(--page-pad) 18px 20px;
    border-top:0;
  }
  .purchase-page .purchase-faq h2 { font-size:26px; }
  .purchase-page .faq-list summary { font-size:13px; }
}
