.shop-main { padding-top: 36px; }
.shop-page .nav-actions { gap: 16px; }
.shop-page h1 { font-size: clamp(36px, 5vw, 64px); line-height: 1.35; }
.shop-page h1, .shop-page h2, .shop-page h3 { overflow-wrap: anywhere; }
.shop-page .honeypot { left: 0; top: 0; clip-path: inset(50%); pointer-events: none; }
.shop-page h2 { font-size: 30px; line-height: 1.5; margin: 0 0 18px; }
.shop-page h3 { font-size: 21px; line-height: 1.6; margin: 8px 0; }
.shop-card { padding: 32px; margin-bottom: 24px; }
.shop-card p { line-height: 1.9; color: #53645d; overflow-wrap: anywhere; }
.shop-lead { font-size: 20px; line-height: 1.8; color: #53645d; }
.shop-muted { color: #64756d; font-size: 14px; line-height: 1.8; }
.shop-breadcrumb { color: #64756d; font-size: 14px; margin: 4px 0 32px; }
.shop-breadcrumb a { color: #152e23; }
.shop-actions { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; margin: 24px 0; }
.shop-actions form { margin: 0; }
.shop-page .quiet-button { display: inline-flex; align-items: center; justify-content: center; border: 1px solid #d1dccf; border-radius: 30px; background: #f7faf3; color: #334f3b; font: inherit; font-size: 13px; padding: 10px 18px; cursor: pointer; }
.shop-page button.text-link { border: 0; background: transparent; font: inherit; font-size: 13px; cursor: pointer; }
.shop-notice { background: #e8f2e8; border: 1px solid #bbd4c3; border-radius: 16px; color: #234332; padding: 18px 22px; margin: 16px 0 24px; line-height: 1.9; overflow-wrap: anywhere; }
.shop-notice.error { background: #fff0eb; border-color: #e8c3b5; color: #743628; }
.shop-field { display: grid; gap: 9px; margin: 0 0 20px; min-width: 0; }
.shop-field label { font-size: 14px; color: #425a4e; }
.shop-field input, .shop-field textarea, .shop-field select, .shop-settings-form input, .shop-settings-form textarea, .shop-settings-form select { width: 100%; min-width: 0; font: inherit; border: 1px solid #dae1db; border-radius: 12px; background: #f3f5f1; color: #152b20; padding: 14px 16px; }
.shop-field textarea { min-height: 130px; resize: vertical; }
.shop-field input[type=email], .shop-field input[type=password] { direction: ltr; text-align: right; }
.shop-field input:focus-visible, .shop-field select:focus-visible, .shop-field textarea:focus-visible { outline: 2px solid #648c76; outline-offset: 2px; }
.shop-field small { font-size: 12px; line-height: 1.8; color: #64756d; }
.shop-check { display: flex; align-items: flex-start; gap: 9px; font-size: 13px; line-height: 1.9; margin: 22px 0; }
.shop-check input { margin-top: 6px; accent-color: #213e2f; flex: 0 0 18px; width: 18px; height: 18px; padding: 0; }
.shop-check > span { min-width: 0; }
.shop-check a { text-decoration: underline; }
.full-width { width: 100%; justify-content: center; }
.product-layout { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 56px; align-items: center; margin: 30px 0 56px; }
.product-visual { overflow: hidden; min-width: 0; }
.product-visual > img { display: block; width: 100%; height: auto; max-height: 590px; object-fit: contain; }
.product-placeholder { min-height: 430px; padding: 42px; background: radial-gradient(ellipse at top left,#b4e9dc,transparent 65%),linear-gradient(145deg,#f5f2e8,#d2e1d1); display: flex; flex-direction: column; justify-content: space-between; gap: 24px; }
.product-placeholder > span { font-size: 13px; letter-spacing: 1px; color: #53645d; }
.product-placeholder strong { font-family: 'Thmanyah Serif Display',serif; font-size: 64px; line-height: 1.4; color: #203b2e; }
.product-overview { padding: 12px 0; }
.product-overview h1 { margin: 12px 0 20px; }
.product-detail-price { color: #1e3b2c; font-size: 28px; margin: 24px 0 8px; }
.product-details-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.product-details-grid .shop-card { margin: 0 0 8px; }
.shop-list { padding-inline-start: 22px; color: #53645d; line-height: 2.1; }
.shop-section { margin: 40px 0; }
.product-detail-media { display: grid; gap: 24px; }
.product-detail-media figure { margin: 0; padding: 16px; overflow: hidden; }
.product-detail-media img, .product-detail-media video { display: block; width: 100%; max-height: 850px; object-fit: contain; border-radius: 16px; }
.product-detail-media figcaption { padding: 16px 8px 4px; color: #53645d; }
.shop-faq { padding: 18px 0; border-bottom: 1px solid #e1e7df; }
.shop-faq:last-child { border-bottom: 0; }
.shop-faq summary { font-size: 17px; cursor: pointer; }
.auth-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; margin: 48px 0; }
.auth-story { padding: 30px 0; }
.auth-story h1 { margin: 20px 0 28px; }
.auth-benefits { display: grid; gap: 18px; margin: 36px 0 42px; font-size: 15px; color: #50685a; }
.auth-card { box-shadow: 0 16px 50px #37504308; }
.auth-tabs { display: flex; gap: 28px; border-bottom: 1px solid #e1e7df; margin: 0 0 28px; }
.auth-tabs a { padding: 8px 0 16px; color: #738176; }
.auth-tabs a[aria-current] { color: #203c2c; border-bottom: 2px solid #203c2c; }
.auth-help { display: inline-block; margin-top: 20px; font-size: 13px; line-height: 1.9; }
.google-button { width: 100%; border: 1px solid #d8dfd7; border-radius: 12px; padding: 13px; background: white; color: #223e2f; font: inherit; display: flex; justify-content: center; align-items: center; gap: 14px; cursor: pointer; }
.google-g { font: 600 21px Arial,sans-serif; color: #4285f4; }
.auth-divider { text-align: center; color: #758478; margin: 24px 0; font-size: 12px; }
.account-heading { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; margin: 30px 0; }
.account-heading h1 { margin: 10px 0 16px; }
.account-heading > div { min-width: 0; max-width: 100%; }
.account-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.account-stats > div { padding: 26px; display: grid; gap: 12px; }
.account-stats strong { font-size: 30px; font-weight: 500; }
.account-stats span { font-size: 13px; color: #64756d; }
.order-list { display: grid; gap: 16px; }
.order-row { display: flex; justify-content: space-between; gap: 24px; align-items: center; padding: 26px; margin: 0; color: #243b2d; }
.order-row small { color: #64756d; display: inline-block; font-size: 12px; }
.order-row > strong { white-space: nowrap; font-size: 17px; font-weight: 500; }
.order-badges { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0; }
.shop-badge { background: #e9eee5; border-radius: 30px; padding: 7px 12px; font-size: 12px; color: #53674e; }
.shop-badge.success { background: #d1ead9; color: #1f5733; }
.shop-pagination { display: flex; gap: 24px; margin: 24px 0; }
.checkout-layout { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); align-items: start; gap: 28px; margin: 32px 0; }
.checkout-summary { position: sticky; top: 30px; }
.price-breakdown { display: grid; gap: 16px; margin: 20px 0; }
.price-breakdown > div { display: flex; justify-content: space-between; gap: 18px; font-size: 15px; }
.price-breakdown dd { margin: 0; direction: ltr; white-space: nowrap; }
.price-breakdown dt { color: #64756d; }
.price-breakdown dt { min-width: 0; overflow-wrap: anywhere; }
.price-breakdown .total { border-top: 1px solid #dbe3d7; padding-top: 22px; margin-top: 4px; font-size: 21px; }
.price-breakdown .total dt { color: #213e2e; }
.payment-methods { border: 0; padding: 20px 0 0; margin: 24px 0; }
.payment-methods legend { font-size: 18px; }
.payment-option { display: flex; align-items: flex-start; gap: 14px; border: 1px solid #dbe2d8; border-radius: 14px; padding: 18px; margin-bottom: 12px; cursor: pointer; }
.payment-option:has(input:checked) { border-color: #69856c; background: #eff5eb; }
.payment-option input { accent-color: #213e2f; margin-top: 6px; flex: 0 0 18px; width: 18px; height: 18px; padding: 0; }
.payment-option > span { min-width: 0; }
.payment-option strong { font-size: 16px; font-weight: 500; }
.payment-option small { display: block; font-size: 12px; color: #64756d; line-height: 1.9; margin-top: 8px; }
.manual-instructions { background: #f0f4eb; padding: 22px; border-radius: 14px; margin: 22px 0; line-height: 2; overflow-wrap: anywhere; }
.order-timeline { list-style: none; padding: 0; margin: 20px 0 0; }
.order-timeline li { display: grid; gap: 8px; border-inline-start: 2px solid #d5e0d2; padding: 0 18px 24px; margin-inline-start: 4px; }
.order-timeline time { color: #758271; font-size: 11px; direction: ltr; text-align: right; }
.order-timeline span { font-size: 14px; line-height: 1.8; }
.delivery-ready { background: #ebf5e6; }
.return-card { max-width: 620px; margin: 10vh auto; background: #fafcf7; }
.shop-asset-picker { background: #f3f6f0; border: 1px dashed #b6c5b5; border-radius: 16px; padding: 22px; display: grid; gap: 12px; margin: 24px 0; min-width: 0; }
.shop-asset-picker label { color: #243d2c; font-weight: 500; }
.shop-asset-picker p { overflow-wrap: anywhere; margin: 0; }
.shop-asset-picker small { color: #687764; line-height: 1.9; }
.shop-asset-picker input[type=file] { width: 100%; min-width: 0; font-size: 12px; }
.shop-settings-form .admin-card { padding: 30px; }
.shop-settings-form code { overflow-wrap: anywhere; word-break: break-all; font-size: 12px; }
.shop-settings-form input[type=checkbox] { width: auto; }
.shop-settings-form .admin-help { line-height: 1.9; }
.shop-page .page-footer { gap: 22px; flex-wrap: wrap; }
@media(max-width:900px){.product-layout,.auth-layout{gap:30px}.product-placeholder{min-height:360px}.product-placeholder strong{font-size:50px}.checkout-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.shop-card{padding:26px}}
@media(max-width:640px){.shop-main{padding-top:20px}.product-layout,.auth-layout,.checkout-layout,.product-details-grid{grid-template-columns:1fr;gap:22px}.product-layout{margin-top:20px}.product-overview{padding:0 4px}.product-visual{order:1}.product-placeholder{min-height:320px}.auth-layout{margin:15px 0}.auth-story{padding:12px 4px}.auth-story h1{font-size:38px;margin:14px 0 18px}.auth-benefits{display:none}.shop-lead{font-size:17px}.shop-card{padding:24px}.shop-page h2{font-size:27px}.auth-card{margin:0}.account-stats{gap:9px}.account-stats>div{padding:20px 12px;gap:9px}.account-stats strong{font-size:19px}.account-stats span{font-size:11px}.order-row{align-items:flex-start;flex-direction:column;gap:12px;padding:22px}.account-heading h1{font-size:36px}.checkout-summary{position:static}.checkout-layout>aside{order:-1}.price-breakdown .total{font-size:19px}.shop-card .price-breakdown{margin:12px 0}.shop-page .page-footer{display:grid;grid-template-columns:1fr 1fr;font-size:12px}.shop-page .nav-actions{gap:10px}.shop-asset-picker{padding:18px}.return-card{margin:10vh 16px}.shop-settings-form .admin-card{padding:22px}.shop-breadcrumb{margin-bottom:22px}}
