/* LetsGrowViral — inner pages: checkout, cart, order received, legal pages */

/* ---------------------------------------------------------------- page shell */
.page{position:relative;z-index:1;padding:108px 0 64px}
@media (min-width:980px){.page{padding-top:136px}}
.page__wrap{max-width:1080px}
.page--text .page__wrap{max-width:840px}
.page__head{max-width:720px;margin:0 auto 26px;text-align:center}
.page__head .title{margin-top:16px;font-size:clamp(2.1rem,1.3rem + 3.2vw,3.4rem)}
.page__body{padding:22px 16px;border-radius:var(--r-lg)}
@media (min-width:720px){.page__body{padding:34px}}

/* legal & text content */
.entry{font-size:1rem;line-height:1.7;color:var(--ink-2)}
.entry > :first-child{margin-top:0}
.page--text .entry h2{margin:34px 0 10px;font-size:1.5rem;letter-spacing:-.03em}
.page--text .entry h3{margin:26px 0 8px;font-size:1.1875rem}
.page--text .entry p,.page--text .entry ul,.page--text .entry ol{margin:0 0 14px}
.page--text .entry ul,.page--text .entry ol{padding-left:22px}
.page--text .entry a{color:var(--gold-d);font-weight:600;border-bottom:1px solid currentColor}

/* ---------------------------------------------------------------- legal pages */
.legal{max-width:1080px}
.legal__head{margin-bottom:22px}
.legal__lead{max-width:520px;margin:14px auto 0;font-size:1.0625rem;line-height:1.55;color:var(--ink-2)}
.legal__updated{display:inline-block;margin:14px 0 0;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.6);box-shadow:inset 0 0 0 1px var(--line);font-size:.8125rem;color:var(--muted)}
.legal__updated strong{font-weight:600;color:var(--ink-2)}

/* page switcher */
.legal__tabs{display:flex;gap:4px;width:max-content;max-width:100%;margin:0 auto 26px;padding:5px;border-radius:999px;background:rgba(255,255,255,.72);box-shadow:inset 0 0 0 1px var(--line),var(--shadow-sm)}
.legal__tabs a{flex:1 1 0;min-width:0;padding:11px 18px;border-radius:999px;font:600 .875rem/1 var(--sans);color:var(--ink-2);text-align:center;white-space:nowrap;transition:background-color .3s var(--ease),color .3s}
.legal__tabs a:hover{color:var(--ink);background:rgba(22,18,13,.05)}
.legal__tabs a[aria-current=page]{background:var(--ink);color:#fff;box-shadow:0 10px 22px -12px rgba(22,18,13,.7)}
@media (max-width:359px){.legal__tabs a{padding:11px 12px}}

.legal__grid{display:grid;gap:14px}
.legal__grid > *{min-width:0}

/* contents: collapsible on phones, sticky sidebar on desktop */
.legal__tocbox{border-radius:var(--r)}
.legal__tocbox summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;font:600 .75rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);list-style:none;cursor:pointer}
.legal__tocbox summary::-webkit-details-marker{display:none}
.legal__plus{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:50%;background:var(--ink);color:#fff;transition:transform .35s var(--ease)}
.legal__plus svg{width:12px;height:12px}
.legal__tocbox[open] .legal__plus{transform:rotate(45deg)}
.legal__tocbox ol{margin:0;padding:0 10px 12px;list-style:none}
.legal__tocbox a{display:flex;align-items:baseline;gap:10px;padding:9px 10px;border-radius:12px;font-size:.9375rem;line-height:1.35;color:var(--ink-2);transition:background-color .25s,color .25s}
.legal__tocbox a span{flex:none;font:700 .75rem/1 var(--display);color:var(--gold-d)}
.legal__tocbox a:hover{background:rgba(255,255,255,.7);color:var(--ink)}
.legal__tocbox a[aria-current=true]{background:#fff;color:var(--ink);font-weight:600;box-shadow:inset 0 0 0 1px var(--line)}

/* document */
.legal__card{padding:24px 18px;border-radius:var(--r-lg)}
.legal__intro{margin-bottom:6px;padding-bottom:22px;border-bottom:1px solid var(--line);font-size:1.0625rem;color:var(--ink)}
.legal__intro p:last-child{margin-bottom:0}
.legal__sec{padding-top:26px}
.legal__sec + .legal__sec{margin-top:26px;border-top:1px solid var(--line)}
.page--legal .entry h2{display:flex;align-items:center;gap:12px;margin:0 0 12px;font-size:1.3125rem;line-height:1.25;letter-spacing:-.025em}
.legal__num{display:inline-grid;place-items:center;flex:none;width:34px;height:34px;border-radius:11px;background:var(--grad-gold);box-shadow:0 8px 18px -10px rgba(143,106,56,.8);font:700 .8125rem/1 var(--display);letter-spacing:0;color:var(--ink)}
.page--legal .entry p,.page--legal .entry ul,.page--legal .entry ol{margin:0 0 14px}
.page--legal .entry > :last-child,.legal__sec > :last-child{margin-bottom:0}
.page--legal .entry ul{padding:0;list-style:none}
.page--legal .entry ul li{position:relative;margin:0 0 9px;padding-left:22px}
.page--legal .entry ul li::before{content:"";position:absolute;left:3px;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--grad-gold)}
.page--legal .entry strong{color:var(--ink)}
.page--legal .entry em{color:var(--ink)}
.page--legal .entry a{color:var(--gold-d);font-weight:600;border-bottom:1px solid rgba(138,102,54,.35);overflow-wrap:anywhere;transition:border-color .25s}
.page--legal .entry a:hover{border-bottom-color:currentColor}

/* help card */
.legal__help{display:grid;gap:18px;margin-top:14px;padding:24px 20px;border-radius:var(--r-lg);background:linear-gradient(135deg,#FFFDF9 0%,var(--champagne) 100%);box-shadow:inset 0 0 0 1px rgba(184,144,88,.25),var(--shadow-sm)}
.legal__help h2{margin:0 0 6px;font-size:1.3125rem;letter-spacing:-.025em;color:var(--ink)}
.legal__help p{margin:0;color:var(--ink-2)}
.legal__actions{display:grid;gap:10px}
.legal__actions .btn{width:100%;min-height:52px;margin:0}
.legal__actions .btn svg{width:18px;height:18px;flex:none}

@media (min-width:720px){
  .legal__card{padding:38px 40px}
  .legal__help{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:28px 32px}
  .legal__actions{grid-auto-flow:column}
  .legal__actions .btn{width:auto}
}
@media (min-width:980px){
  .legal__grid{grid-template-columns:250px minmax(0,1fr);gap:24px;align-items:start}
  .legal__toc{position:sticky;top:112px}
  body.admin-bar .legal__toc{top:144px}
  .legal__tocbox summary{cursor:default;pointer-events:none}
  .legal__plus{display:none}
  .page--legal .entry h2{font-size:1.4375rem}
}

/* ---------------------------------------------------------------- notices & buttons */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none!important;margin:0 0 20px!important;padding:14px 18px!important;border:0!important;border-radius:16px;background:#F4E7CE!important;color:var(--ink)!important;font-size:.9375rem;line-height:1.5}
.woocommerce-error{background:#FBE5E2!important;color:#8A2A1B!important}
.woocommerce-error li{margin:0!important}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none!important}
.woocommerce-message .button,.woocommerce-info .button{float:none!important;margin:10px 0 0!important}

.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce-page a.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border:0;border-radius:999px;background:var(--ink)!important;color:#fff!important;font:600 .9375rem/1 var(--sans);text-decoration:none;box-shadow:0 14px 30px -14px rgba(22,18,13,.7);transition:transform .3s var(--ease),box-shadow .3s}
.woocommerce a.button:hover,.woocommerce button.button:hover{transform:translateY(-2px);box-shadow:0 18px 40px -14px rgba(160,118,60,.75)}
.woocommerce #payment #place_order{float:none;width:100%;min-height:58px;margin-top:6px;background:var(--grad-gold)!important;color:var(--ink)!important;font-size:1rem;box-shadow:0 14px 34px -14px rgba(201,162,106,.9)}
.woocommerce #payment #place_order.is-loading,.woocommerce .blockUI.blockOverlay{opacity:.6}

/* ---------------------------------------------------------------- forms */
.woocommerce form .form-row{margin:0 0 14px;padding:0}
.woocommerce form .form-row label{display:block;margin-bottom:8px;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;line-height:1.3;color:var(--ink-2)}
.woocommerce form .form-row .required{color:#B4533A;text-decoration:none;border:0}
.woocommerce form .form-row .optional{text-transform:none;letter-spacing:0;font-weight:400;color:var(--muted)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce-checkout #payment select{width:100%;min-height:52px;padding:13px 16px;border:0;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px var(--line-2);font:400 1rem var(--sans);color:var(--ink);-webkit-appearance:none;appearance:none;transition:box-shadow .25s}
.woocommerce form .form-row select,.woocommerce-checkout #payment select{padding-right:44px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2316120D' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 18px center}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row select:focus{outline:none;box-shadow:inset 0 0 0 1.5px var(--gold-d),0 0 0 4px rgba(201,162,106,.2)}
.woocommerce form .form-row.woocommerce-invalid input.input-text{box-shadow:inset 0 0 0 1.5px #C0533F}
.woocommerce form .form-row .description{margin-top:6px;font-size:.8125rem;color:var(--muted);background:none!important;padding:0!important;position:static!important}
.woocommerce form .form-row .description::before{display:none}
@media (min-width:560px){
  .woocommerce form .form-row-first,.woocommerce form .form-row-last{width:calc(50% - 7px)}
}
.woocommerce form .form-row input[type=checkbox]{width:20px;height:20px;margin:1px 10px 0 0;accent-color:var(--ink);vertical-align:top}
.woocommerce form .form-row label.checkbox{display:flex;align-items:flex-start;gap:0;font-size:.875rem;font-weight:400;letter-spacing:0;text-transform:none;line-height:1.5;color:var(--ink-2)}

/* ---------------------------------------------------------------- checkout layout */
.woocommerce-checkout form.checkout{display:grid;gap:8px 36px}
.woocommerce-checkout form.checkout > *{min-width:0}
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{float:none;width:100%;max-width:none}
.woocommerce-checkout #customer_details .col-2:empty,.woocommerce-additional-fields:empty{display:none}
.woocommerce-checkout h3{margin:0 0 16px;font-size:1.3125rem;letter-spacing:-.03em}
@media (min-width:900px){
  .woocommerce-checkout form.checkout{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start}
  .woocommerce-checkout form.checkout > .woocommerce-NoticeGroup{grid-column:1 / -1}
  .woocommerce-checkout #customer_details{grid-column:1;grid-row:2 / span 2}
  .woocommerce-checkout #order_review_heading{grid-column:2;grid-row:2}
  .woocommerce-checkout #order_review{grid-column:2;grid-row:3}
}

/* order summary */
.woocommerce table.shop_table{width:100%;margin:0 0 18px;border:0;border-collapse:separate;border-spacing:0;border-radius:18px;overflow:hidden;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:14px 16px;border:0;border-top:1px solid var(--line);font-size:.9375rem;line-height:1.5;text-align:left;vertical-align:top}
.woocommerce table.shop_table thead th{border-top:0;font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.woocommerce table.shop_table td.product-total,.woocommerce table.shop_table th.product-total,.woocommerce table.shop_table tfoot td{text-align:right;white-space:nowrap}
.woocommerce table.shop_table td.product-name{font-weight:600;color:var(--ink)}
.woocommerce table.shop_table .product-quantity{display:none}
.woocommerce table.shop_table tfoot th{font-weight:600;color:var(--ink-2)}
.woocommerce table.shop_table .order-total th,.woocommerce table.shop_table .order-total td{font:700 1.125rem var(--display);color:var(--ink)}
.woocommerce td.product-name dl.variation,.woocommerce .wc-item-meta{margin:8px 0 0;padding:0;list-style:none;font-size:.8125rem;font-weight:400;color:var(--muted)}
.woocommerce td.product-name dl.variation dt,.woocommerce .wc-item-meta .wc-item-meta-label{float:left;clear:both;margin:0 5px 0 0;font-weight:600;color:var(--ink-2)}
.woocommerce td.product-name dl.variation dd{margin:0 0 2px;word-break:break-word}
.woocommerce td.product-name dl.variation dd p,.woocommerce .wc-item-meta p{margin:0}

/* payment */
.lgv-paynote{margin:0 0 12px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.72);box-shadow:inset 0 0 0 1px var(--line);font-size:.8125rem;line-height:1.5;color:var(--muted)}
.woocommerce-checkout #payment{border-radius:0;background:transparent}
.woocommerce-checkout #payment ul.payment_methods{display:grid;gap:8px;margin:0;padding:0;border:0}
.woocommerce-checkout #payment ul.payment_methods::before,.woocommerce-checkout #payment ul.payment_methods::after{display:none}
.woocommerce-checkout #payment ul.payment_methods li{margin:0;padding:14px 16px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);list-style:none;line-height:1.4}
.woocommerce-checkout #payment ul.payment_methods li > label{display:inline;font-weight:600;color:var(--ink);cursor:pointer}
.woocommerce-checkout #payment ul.payment_methods li > input[type=radio]{margin:0 8px 0 0;accent-color:var(--ink)}
.woocommerce-checkout #payment ul.payment_methods li img{display:inline-block;max-height:22px;margin:0 0 0 4px;vertical-align:middle}
.woocommerce-checkout #payment div.payment_box{margin:12px 0 0;padding:12px 14px;border-radius:12px;background:#F6EEDF;color:var(--ink-2);font-size:.875rem}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce-checkout #payment div.payment_box p:last-child{margin-bottom:0}
.woocommerce-checkout #payment div.form-row{padding:16px 0 0}
.woocommerce-terms-and-conditions-wrapper{margin-bottom:8px;font-size:.875rem}
.woocommerce-privacy-policy-text p{margin:0 0 12px;font-size:.8125rem;color:var(--muted)}
.lgv-waiver{margin-bottom:14px!important}

/* ---------------------------------------------------------------- order received */
.woocommerce-order .woocommerce-thankyou-order-received{margin:0 0 20px;font:600 1.1875rem/1.45 var(--display);letter-spacing:-.01em;color:var(--ink);text-align:center}
.woocommerce ul.order_details{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:0 0 26px;padding:0}
.woocommerce ul.order_details::before,.woocommerce ul.order_details::after{display:none}
.woocommerce ul.order_details li{float:none;margin:0;padding:12px 14px;border:0;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.woocommerce ul.order_details li strong{display:block;margin-top:5px;font-size:.9375rem;letter-spacing:0;text-transform:none;color:var(--ink)}
.woocommerce .woocommerce-order-details h2,.woocommerce .woocommerce-customer-details h2{margin:0 0 14px;font-size:1.3125rem}
.woocommerce .woocommerce-customer-details address{padding:16px;border:0;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);font-style:normal}
.lgv-crypto-pay{margin:0 0 24px;padding:18px;border-radius:18px;background:#F4E7CE;color:var(--ink)}
.lgv-crypto-pay > p:first-child{margin:0 0 12px;font-weight:600}
.lgv-crypto-pay dl{display:grid;gap:10px;margin:0}
.lgv-crypto-pay dt{font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.lgv-crypto-pay dd{display:flex;align-items:center;gap:10px;margin:2px 0 0;min-width:0}
.lgv-crypto-pay code{flex:1;min-width:0;padding:10px 12px;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);font:600 .9375rem/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--ink);overflow-wrap:anywhere}
.lgv-crypto-pay .lgv-addr{font-size:.8125rem;font-weight:500}
.lgv-copy{flex:none;min-height:40px;padding:0 14px;border:0;border-radius:999px;background:var(--ink);color:#fff;font:600 .8125rem var(--sans)}
.lgv-crypto-warn{margin:14px 0 0;font-size:.8125rem;line-height:1.5;color:var(--ink-2)}

/* ---------------------------------------------------------------- empty cart */
.cart-empty.woocommerce-info{text-align:center}
.return-to-shop{text-align:center}

/* ---------------------------------------------------------------- guides page & single guide */
.page--guides .page__wrap,.page--guides .wrap{max-width:1200px}
.page--guides .page__head{margin-bottom:30px}
.page--article .page__head .title{font-size:clamp(1.95rem,1.2rem + 2.7vw,3.1rem);line-height:1.05}
.page--article .entry h3{margin:22px 0 8px;font:600 1.0625rem/1.3 var(--display);letter-spacing:-.015em;color:var(--ink)}
.page--article .entry h2 + h3{margin-top:6px}
.article__cta .legal__helptext{display:grid;gap:4px}
.article__cta .brand{width:40px;height:40px;margin-bottom:6px}
.article__cta .btn svg{width:16px;height:16px}
.article__more{margin-top:34px}
.article__more > h2{margin:0 0 14px;font-size:1.3125rem;letter-spacing:-.025em;color:var(--ink)}
.guides--compact .guide__excerpt{-webkit-line-clamp:2}
@media (min-width:1100px){.guides--compact{grid-template-columns:repeat(3,minmax(0,1fr))}}
.lgv-editorder{margin:0 0 12px;text-align:right}
.lgv-editorder a{display:inline-flex;align-items:center;gap:6px;font-size:.875rem;font-weight:600;color:var(--ink);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}
.lgv-editorder svg{width:14px;height:14px;color:var(--gold-d)}
.woocommerce-info a,.woocommerce-message a:not(.button){font-weight:600;color:var(--ink);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
