/* WooCommerce production layer for Set Pantang. */
:root {
  --sp-ink: #26372d;
  --sp-green: #2e4636;
  --sp-green-2: #3f604b;
  --sp-sage: #dfe8dd;
  --sp-cream: #faf6f1;
  --sp-paper: #fffdf9;
  --sp-gold: #ad8440;
  --sp-blush: #ead8d2;
  --sp-line: rgba(46, 70, 54, .14);
  --sp-shadow: 0 24px 70px rgba(43, 55, 46, .13);
  --sp-radius: 28px;
}

html { scroll-behavior: smooth; }
body.set-pantang-site { min-width: 320px; padding-bottom: 98px; background: var(--sp-cream); color: #34312f; }
body.admin-bar .site-topbar { top: 32px; }
.skip-link { position: fixed; z-index: 99999; top: 10px; left: 10px; transform: translateY(-160%); padding: 12px 18px; border-radius: 10px; background: #fff; color: var(--sp-green); }
.skip-link:focus { transform: translateY(0); }
.glass-panel { border: 1px solid rgba(255,255,255,.72); background: rgba(255,253,249,.78); box-shadow: var(--sp-shadow); backdrop-filter: blur(22px) saturate(130%); -webkit-backdrop-filter: blur(22px) saturate(130%); }
.site-topbar { position: sticky; z-index: 80; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; width: min(1180px, calc(100% - 32px)); margin: 16px auto 0; padding: 12px 14px 12px 18px; border-radius: 24px; }
.site-topbar__brand, .site-foot__brand { display: flex; align-items: center; gap: 11px; color: var(--sp-ink); text-decoration: none; }
.site-topbar__brand img, .site-foot__brand img { object-fit: contain; border-radius: 50%; }
.site-topbar__brand span, .site-foot__brand span { display: grid; }
.site-topbar__brand strong, .site-foot__brand strong { font-size: 14px; line-height: 1.2; }
.site-topbar__brand small, .site-foot__brand small { margin-top: 3px; color: #766f69; font-size: 11px; }
.site-foot { margin-top: 60px; padding: 64px 20px 120px; background: #f1eae3; }
.site-foot__inner { display: grid; grid-template-columns: 1fr auto; gap: 28px; align-items: center; }
.site-foot__links { display: flex; flex-wrap: wrap; gap: 18px; }
.site-foot__links a { color: var(--sp-green); font-size: 13px; font-weight: 700; text-decoration: none; }
.site-foot__copy { grid-column: 1 / -1; margin: 0; color: #766f69; font-size: 12px; }

.commerce-stage, .woocommerce-shell, .single-product-stage, .account-stage { min-height: 70vh; padding-top: clamp(50px, 8vw, 100px); }
.commerce-head, .shop-page-head { max-width: 760px; margin: 0 auto 38px; text-align: center; }
.commerce-card, .content-card { padding: clamp(18px, 4vw, 46px); border-radius: var(--sp-radius); }
.woocommerce { --wc-primary: var(--sp-green); }
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .single_add_to_cart_button,
.woocommerce .button { min-height: 48px; padding: 14px 22px !important; border: 0; border-radius: 999px !important; background: var(--sp-green) !important; color: #fff !important; font-size: 13px !important; font-weight: 800 !important; letter-spacing: .02em; line-height: 1.25 !important; transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.single_add_to_cart_button:hover { transform: translateY(-1px); background: var(--sp-green-2) !important; box-shadow: 0 10px 28px rgba(46,70,54,.2); }
.woocommerce a.button:focus-visible, .woocommerce button.button:focus-visible, .woocommerce input.button:focus-visible,
.btn:focus-visible, .account-btn:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(173,132,64,.42); outline-offset: 3px; }
.woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled] { opacity: .55; transform: none; }

.woocommerce-message, .woocommerce-info, .woocommerce-error { margin: 0 0 22px !important; padding: 17px 22px 17px 52px !important; border: 1px solid var(--sp-line); border-top: 0 !important; border-radius: 16px; background: rgba(255,255,255,.84); box-shadow: 0 12px 32px rgba(46,70,54,.06); color: #3f3a36; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--sp-green) !important; top: 17px !important; }
.woocommerce-error::before { top: 17px !important; color: #9d3f45 !important; }
.woocommerce-error { border-color: rgba(157,63,69,.22); }

.woocommerce form .form-row { margin: 0 0 18px; padding: 0; }
.woocommerce form .form-row label { margin-bottom: 8px; color: var(--sp-ink); font-size: 13px; font-weight: 800; }
.woocommerce form .form-row .required { color: #9d3f45; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single { width: 100%; min-height: 50px; padding: 12px 15px; border: 1px solid rgba(46,70,54,.18); border-radius: 14px; background: rgba(255,255,255,.82); color: #34312f; font: inherit; }
.woocommerce form .form-row textarea { min-height: 120px; resize: vertical; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 25px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { top: 11px; right: 8px; }
.woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: #9d3f45; }

.woocommerce table.shop_table { margin: 0 0 28px; overflow: hidden; border: 1px solid var(--sp-line); border-collapse: separate; border-radius: 20px; background: rgba(255,255,255,.62); }
.woocommerce table.shop_table th { padding: 15px 16px; background: rgba(223,232,221,.48); color: var(--sp-ink); font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.woocommerce table.shop_table td { padding: 18px 16px; border-top-color: var(--sp-line); vertical-align: middle; }
.woocommerce table.shop_table img { width: 70px; height: 88px; border-radius: 10px; object-fit: cover; box-shadow: 0 10px 24px rgba(46,70,54,.12); }
.woocommerce-cart-form .product-name a { color: var(--sp-ink); font-weight: 800; text-decoration: none; }
.woocommerce-cart-form .product-quantity .quantity { pointer-events: none; }
.woocommerce .quantity .qty { min-height: 42px; border: 1px solid var(--sp-line); border-radius: 10px; }
.woocommerce a.remove { display: grid; place-items: center; width: 36px; height: 36px; font-size: 20px; }
.woocommerce a.remove:hover { background: #9d3f45; }
.cart_totals { width: min(100%, 530px) !important; padding: 26px; border: 1px solid var(--sp-line); border-radius: 22px; background: rgba(255,255,255,.66); }
.cart_totals h2 { margin-top: 0; color: var(--sp-ink); font-family: var(--font-display, Georgia, serif); }
.wc-proceed-to-checkout { padding-bottom: 0 !important; }
.wc-proceed-to-checkout .checkout-button { display: flex !important; align-items: center; justify-content: center; margin: 14px 0 0 !important; }
.woocommerce-cart .cart-collaterals { display: flex; justify-content: flex-end; }
.woocommerce-cart .cart-empty { padding: 36px !important; text-align: center; }

.woocommerce-checkout .col2-set { float: left; width: 57%; }
.woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { float: right; width: 39%; }
.woocommerce-checkout #customer_details .col-1 { width: 100%; }
.woocommerce-checkout #customer_details .col-2 { display: none; }
.woocommerce-checkout h3 { color: var(--sp-ink); font-family: var(--font-display, Georgia, serif); }
.woocommerce-checkout #order_review { padding: 24px; border: 1px solid var(--sp-line); border-radius: 22px; background: rgba(255,255,255,.68); }
.woocommerce-checkout-payment { border-radius: 18px !important; background: rgba(223,232,221,.42) !important; }
.woocommerce-checkout-payment ul.payment_methods { border-bottom-color: var(--sp-line) !important; }
.woocommerce-checkout-payment .payment_box { border-radius: 12px !important; background: rgba(255,255,255,.82) !important; color: #4d4844 !important; }
.woocommerce-checkout-payment .payment_box::before { border-bottom-color: rgba(255,255,255,.82) !important; }
.woocommerce-checkout #payment #place_order { width: 100%; min-height: 54px; }
.woocommerce-checkout form.is-processing #place_order { opacity: .65; cursor: wait; }

.shop-catalog { padding-top: 20px; }
.showcase { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(22px, 4vw, 48px); }
.showcase__item { overflow: hidden; border-radius: 32px; }
.showcase__media { display: grid; place-items: center; min-height: 430px; padding: 38px; background: linear-gradient(145deg, #e6ede3, #f7eee9); }
.showcase__item--b .showcase__media { background: linear-gradient(145deg, #f0dfdc, #f8f1e7); }
.showcase__media img { width: min(100%, 350px); max-height: 430px; object-fit: contain; filter: drop-shadow(0 22px 30px rgba(46,70,54,.18)); }
.showcase__body { padding: clamp(24px, 4vw, 42px); }
.product-live-price { margin: 12px 0 18px; color: var(--sp-green); font-family: var(--font-display, Georgia, serif); font-size: clamp(30px, 4vw, 46px); font-weight: 700; }
.product-live-price del { opacity: .45; font-size: .58em; }
.product-live-price ins { text-decoration: none; }
.single-product-card { display: grid; grid-template-columns: minmax(300px, .9fr) minmax(0, 1.1fr); overflow: hidden; border-radius: 34px; }
.single-product-media { display: grid; place-items: center; padding: clamp(30px, 6vw, 72px); background: linear-gradient(145deg, #e4ece1, #f5e9e5); }
.single-product-media img { width: min(100%, 430px); max-height: 590px; object-fit: contain; filter: drop-shadow(0 24px 34px rgba(46,70,54,.2)); }
.single-product-summary { align-self: center; padding: clamp(28px, 6vw, 76px); }
.single-product-description { color: #625c57; font-size: 16px; line-height: 1.75; }
.single-product-cart form.cart { display: flex; gap: 12px; margin-top: 28px; }
.single-product-cart .quantity { display: none !important; }
.single-product-cart .single_add_to_cart_button { min-width: 220px; }
.virtual-product-note { display: flex; gap: 12px; align-items: flex-start; margin: 24px 0; padding: 16px 18px; border: 1px solid rgba(173,132,64,.2); border-radius: 15px; background: rgba(245,236,218,.56); }
.virtual-product-note strong { color: var(--sp-gold); white-space: nowrap; }
.product-content-panel { max-width: 860px; margin-inline: auto; }

.sp-thankyou { max-width: 900px; margin: 0 auto; }
.sp-thankyou__hero { margin-bottom: 28px; text-align: center; }
.sp-thankyou__hero.is-success .account-kicker { color: var(--sp-green); }
.sp-thankyou__hero.is-failed .account-kicker { color: #9d3f45; }
.sp-order-summary { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0 0 22px; padding: 0; overflow: hidden; border-radius: 22px; }
.sp-order-summary div { padding: 22px; border-right: 1px solid var(--sp-line); }
.sp-order-summary div:last-child { border: 0; }
.sp-order-summary dt { margin-bottom: 8px; color: #756e68; font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.sp-order-summary dd { margin: 0; color: var(--sp-ink); font-weight: 800; }
.sp-order-products { margin-bottom: 22px; padding: 24px; border-radius: 22px; }
.sp-order-products h2 { margin-top: 0; }
.sp-order-products ul { margin: 0; padding: 0; list-style: none; }
.sp-order-products li { display: flex; justify-content: space-between; gap: 20px; padding: 14px 0; border-top: 1px solid var(--sp-line); }
.sp-thankyou__actions { justify-content: center; }

.contact-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(260px, .6fr); gap: 26px; }
.contact-card, .quick-card { padding: clamp(22px, 4vw, 40px); border-radius: 26px; }
.contact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.contact-form .form-row { display: grid; gap: 8px; margin: 0; }
.contact-form label { color: var(--sp-ink); font-size: 13px; font-weight: 800; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; min-height: 50px; padding: 12px 15px; border: 1px solid var(--sp-line); border-radius: 14px; background: rgba(255,255,255,.82); font: inherit; }
.contact-form textarea { min-height: 148px; resize: vertical; }
.form-row--wide { grid-column: 1 / -1; }
.form-honeypot { position: absolute; left: -10000px; }
.contact-aside { display: grid; align-content: start; gap: 18px; }
.quick-card a { color: var(--sp-green); font-weight: 800; overflow-wrap: anywhere; }

.account-stage > .wrap > .woocommerce { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 28px; align-items: start; }
.account-stage .woocommerce::before, .account-stage .woocommerce::after { display: none; }
.account-stage .woocommerce > .login-stage, .account-stage .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.account-stage .woocommerce-MyAccount-navigation, .account-stage .woocommerce-MyAccount-content { float: none; width: auto; }
.account-stage .woocommerce-MyAccount-content { min-width: 0; }
.account-tabs { margin: 24px 0 0; padding: 0; list-style: none; }
.account-tabs li.is-active .account-tab { background: var(--sp-green); color: #fff; box-shadow: 0 16px 24px -18px rgba(46,70,54,.7); }
.account-tabs li.woocommerce-MyAccount-navigation-link--customer-logout { margin-top: auto; }
.account-tabs li.woocommerce-MyAccount-navigation-link--customer-logout .account-tab { color: #9d3f45; }
.woocommerce-MyAccount-content > h2:first-child, .woocommerce-MyAccount-content > h3:first-child { margin-top: 0; color: var(--sp-ink); }
.woocommerce-MyAccount-content .woocommerce-Addresses { display: grid; grid-template-columns: 1fr; }
.woocommerce-MyAccount-content .woocommerce-Address { float: none; width: 100%; padding: 24px; border: 1px solid var(--sp-line); border-radius: 22px; background: rgba(255,255,255,.6); }
.woocommerce-MyAccount-content .woocommerce-Address-title { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.woocommerce-MyAccount-content fieldset { margin: 28px 0; padding: 22px; border: 1px solid var(--sp-line); border-radius: 20px; }
.woocommerce-MyAccount-content legend { padding: 0 8px; color: var(--sp-ink); font-weight: 800; }
.receipt-print { padding: clamp(22px, 4vw, 42px); border-radius: 28px; }
.receipt-print > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding-bottom: 22px; border-bottom: 1px solid var(--sp-line); }
.receipt-print > header h1 { margin: 5px 0 0; color: var(--sp-ink); font-family: var(--font-display, Georgia, serif); }
.receipt-print dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 24px 0; }
.receipt-print dl div { padding: 16px; border-radius: 15px; background: rgba(223,232,221,.38); }
.receipt-print dt { margin-bottom: 5px; color: #756e68; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.receipt-print dd { margin: 0; overflow-wrap: anywhere; color: var(--sp-ink); font-weight: 700; }
.receipt-print table { width: 100%; border-collapse: collapse; }
.receipt-print th, .receipt-print td { padding: 14px 12px; border-bottom: 1px solid var(--sp-line); text-align: left; }
.receipt-print th:last-child, .receipt-print td:last-child { text-align: right; }
.receipt-print__actions { margin-top: 26px; }

.sp-cart-toast { position: fixed; z-index: 9999; right: 24px; bottom: 112px; transform: translateY(18px); padding: 15px 20px; border-radius: 14px; background: var(--sp-green); color: #fff; box-shadow: var(--sp-shadow); opacity: 0; transition: .2s ease; }
.sp-cart-toast.is-visible { transform: translateY(0); opacity: 1; }
.nav-cart-count { position: absolute; top: 5px; right: 14px; display: grid; place-items: center; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 99px; background: #a7474e; color: #fff; font-size: 10px; }
.nav-item { position: relative; }

@media (max-width: 960px) {
  .woocommerce-checkout .col2-set, .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { float: none; width: 100%; }
  .woocommerce-checkout #order_review_heading { margin-top: 34px; }
  .showcase, .single-product-card { grid-template-columns: 1fr; }
  .single-product-media { min-height: 420px; }
  .contact-layout { grid-template-columns: 1fr; }
  .sp-order-summary { grid-template-columns: repeat(2, 1fr); }
  .sp-order-summary div:nth-child(2) { border-right: 0; }
  .sp-order-summary div:nth-child(-n+2) { border-bottom: 1px solid var(--sp-line); }
  .account-stage > .wrap > .woocommerce { grid-template-columns: 1fr; }
  .account-stage .account-rail { position: static; display: block; width: 100%; height: auto; padding: 8px; border-radius: 20px; }
  .account-stage .account-rail__brand { display: none; }
  .account-stage .account-tabs { display: flex; gap: 5px; margin: 0; overflow-x: auto; scrollbar-width: none; }
  .account-stage .account-tabs::-webkit-scrollbar { display: none; }
  .account-stage .account-tabs li { flex: 0 0 auto; }
  .account-stage .account-tab { min-height: 46px; padding: 10px 13px; white-space: nowrap; }
}

@media (max-width: 782px) { body.admin-bar .site-topbar { top: 46px; } }

@media (max-width: 640px) {
  body.set-pantang-site { padding-bottom: 92px; }
  .site-topbar { width: calc(100% - 20px); margin-top: 10px; padding: 9px 10px 9px 12px; border-radius: 18px; }
  .site-topbar__brand small { display: none; }
  .site-topbar .btn { min-height: 44px; padding: 11px 15px; }
  .commerce-stage, .woocommerce-shell, .single-product-stage, .account-stage { padding-top: 42px; }
  .commerce-card { padding: 14px; border-radius: 20px; }
  .woocommerce table.shop_table_responsive thead { display: none; }
  .woocommerce table.shop_table_responsive tr { display: block; padding: 13px; border-bottom: 1px solid var(--sp-line); }
  .woocommerce table.shop_table_responsive tr:last-child { border-bottom: 0; }
  .woocommerce table.shop_table_responsive td { display: grid !important; grid-template-columns: minmax(85px, .8fr) minmax(0, 1.2fr); gap: 12px; min-height: 42px; padding: 10px 0 !important; border: 0 !important; text-align: right !important; }
  .woocommerce table.shop_table_responsive td::before { text-align: left; }
  .woocommerce table.shop_table_responsive .product-remove, .woocommerce table.shop_table_responsive .product-thumbnail { display: block !important; text-align: center !important; }
  .woocommerce table.shop_table_responsive .product-remove::before, .woocommerce table.shop_table_responsive .product-thumbnail::before { display: none; }
  .woocommerce table.shop_table_responsive .product-thumbnail img { width: 92px; height: 116px; }
  .woocommerce-cart-form td.actions { display: block !important; }
  .woocommerce-cart-form td.actions .coupon { display: grid; grid-template-columns: 1fr; gap: 10px; width: 100%; }
  .woocommerce-cart-form td.actions .coupon .input-text, .woocommerce-cart-form td.actions .button { width: 100% !important; }
  .woocommerce-cart .cart-collaterals { display: block; }
  .cart_totals { padding: 18px; }
  .wc-proceed-to-checkout { position: sticky; z-index: 20; bottom: 88px; padding-top: 10px !important; background: linear-gradient(transparent, var(--sp-cream) 28%); }
  .showcase__media { min-height: 340px; padding: 26px; }
  .showcase__body { padding: 24px 20px 28px; }
  .single-product-media { min-height: 330px; padding: 30px; }
  .single-product-summary { padding: 28px 20px 34px; }
  .single-product-cart form.cart, .single-product-cart .single_add_to_cart_button { width: 100%; }
  .virtual-product-note { display: grid; }
  .sp-order-summary { grid-template-columns: 1fr; }
  .sp-order-summary div { border-right: 0; border-bottom: 1px solid var(--sp-line) !important; }
  .sp-order-summary div:last-child { border-bottom: 0 !important; }
  .sp-order-products li { display: grid; gap: 6px; }
  .contact-form { grid-template-columns: 1fr; }
  .contact-form .form-row { grid-column: auto; }
  .woocommerce input, .woocommerce select, .woocommerce textarea, .contact-form input, .contact-form select, .contact-form textarea, .account-form input { font-size: 16px !important; }
  .receipt-print > header { display: block; }
  .receipt-print dl { grid-template-columns: 1fr; }
  .receipt-print th, .receipt-print td { padding-inline: 6px; }
  .site-foot__inner { grid-template-columns: 1fr; }
  .site-foot__links { gap: 14px; }
  .sp-cart-toast { right: 12px; bottom: 100px; left: 12px; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media print {
  .site-topbar, .site-foot, .nav-dock, .sticky-cta, .account-rail, .receipt-print__actions { display: none !important; }
  body.set-pantang-site { padding: 0; background: #fff; }
  .receipt-print { border: 0; box-shadow: none; }
}
