/* ==== YSNACC theme — Chinese Taoist pet memorial ==== */
:root{
  --ys-bg:#0b0a09;
  --ys-bg-2:#13110f;
  --ys-bg-3:#1c1815;
  --ys-ink:#f5efe2;
  --ys-ink-dim:#bdb29a;
  --ys-gold:#c9a24a;
  --ys-gold-2:#e9c97a;
  --ys-red:#b3261e;
  --ys-red-2:#8a1a14;
  --ys-brown:#3a2618;
  --ys-rice:#f3ead2;
  --ys-line:rgba(201,162,74,.25);
  --ys-shadow:0 10px 40px rgba(0,0,0,.55);
  --ys-radius:4px;
  --ys-font-display:"Cormorant Garamond","Noto Serif SC",Georgia,"Times New Roman",serif;
  --ys-font-body:"Inter","Noto Sans SC",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--ys-bg);
  color:var(--ys-ink);
  font-family:var(--ys-font-body);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--ys-gold-2);text-decoration:none;transition:color .2s}
a:hover{color:var(--ys-red)}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--ys-font-display);font-weight:600;letter-spacing:.01em;color:var(--ys-ink);margin:0 0 .5em}
h1{font-size:clamp(2rem,4.4vw,3.6rem);line-height:1.15}
h2{font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.2}
h3{font-size:1.3rem}
p{margin:0 0 1em}
.ys-container{max-width:1200px;margin:0 auto;padding:0 24px}
.ys-section{padding:90px 0}
.ys-section--tight{padding:60px 0}
.ys-eyebrow{display:inline-block;font-size:.78rem;letter-spacing:.32em;text-transform:uppercase;color:var(--ys-gold);margin-bottom:14px;font-family:var(--ys-font-body)}
.ys-section-head{text-align:center;max-width:760px;margin:0 auto 56px}
.ys-section-head p{color:var(--ys-ink-dim);font-size:1.05rem}
.ys-divider{display:block;width:64px;height:1px;background:var(--ys-gold);margin:18px auto;opacity:.7}

/* Buttons */
.ys-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 26px;border-radius:var(--ys-radius);
  font-weight:600;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;
  border:1px solid transparent;cursor:pointer;transition:all .25s;
  font-family:var(--ys-font-body);line-height:1;
}
.ys-btn--primary{background:linear-gradient(180deg,var(--ys-red),var(--ys-red-2));color:#fff}
.ys-btn--primary:hover{filter:brightness(1.1);transform:translateY(-1px);color:#fff}
.ys-btn--gold{background:linear-gradient(180deg,var(--ys-gold-2),var(--ys-gold));color:#1a1209}
.ys-btn--gold:hover{filter:brightness(1.08);color:#1a1209}
.ys-btn--ghost{background:transparent;color:var(--ys-gold-2);border-color:var(--ys-gold)}
.ys-btn--ghost:hover{background:var(--ys-gold);color:#1a1209}
.ys-btn--whatsapp{background:#128c7e;color:#fff}
.ys-btn--whatsapp:hover{background:#0f7368;color:#fff}
.ys-btn--sm{padding:10px 18px;font-size:.82rem}

/* Header */
.ys-header{
  position:sticky;top:0;z-index:100;
  background:rgba(11,10,9,.92);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--ys-line);
}
.ys-header__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0}
.ys-logo{display:flex;flex-direction:column;line-height:1.1;color:var(--ys-ink)}
.ys-logo__mark{font-family:var(--ys-font-display);font-size:1.6rem;font-weight:700;letter-spacing:.18em;color:var(--ys-gold-2)}
.ys-logo__sub{font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ys-ink-dim);margin-top:2px}
.ys-nav{display:flex;align-items:center;gap:8px}
.ys-nav ul{list-style:none;display:flex;gap:6px;margin:0;padding:0;flex-wrap:wrap}
.ys-nav a{color:var(--ys-ink);font-size:.85rem;letter-spacing:.06em;padding:8px 12px;border-radius:2px;display:block}
.ys-nav a:hover,.ys-nav .current-menu-item a{color:var(--ys-gold-2)}
.ys-header__cta{display:flex;align-items:center;gap:10px}
.ys-mini-cart{color:var(--ys-ink);font-size:.85rem;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--ys-line);border-radius:2px}
.ys-mini-cart:hover{color:var(--ys-gold-2);border-color:var(--ys-gold)}
.ys-burger{display:none;background:none;border:1px solid var(--ys-line);padding:10px 12px;color:var(--ys-gold-2);border-radius:2px;cursor:pointer}

/* Hero */
.ys-hero{position:relative;overflow:hidden;background:#000;min-height:88vh;display:flex;align-items:center}
.ys-hero__bg{position:absolute;inset:0}
.ys-hero__bg img{width:100%;height:100%;object-fit:cover;opacity:.62}
.ys-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,10,9,.55) 0%,rgba(11,10,9,.55) 50%,rgba(11,10,9,.95) 100%)}
.ys-hero__inner{position:relative;z-index:2;text-align:center;padding:80px 24px;max-width:920px;margin:0 auto}
.ys-hero__title{color:#fff;font-size:clamp(2.4rem,5.4vw,4.4rem);text-shadow:0 4px 30px rgba(0,0,0,.7)}
.ys-hero__sub{color:var(--ys-ink-dim);font-size:1.1rem;max-width:680px;margin:18px auto 32px}
.ys-hero__cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:24px}
.ys-hero__trust{color:var(--ys-gold);font-size:.82rem;letter-spacing:.18em;text-transform:uppercase}

/* How it works */
.ys-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;counter-reset:step}
.ys-step{background:var(--ys-bg-2);border:1px solid var(--ys-line);padding:28px 22px;border-radius:var(--ys-radius);position:relative;text-align:left}
.ys-step__num{font-family:var(--ys-font-display);font-size:2.6rem;color:var(--ys-gold);line-height:1;margin-bottom:10px;display:block}
.ys-step h3{font-size:1.05rem;margin-bottom:8px;color:var(--ys-gold-2)}
.ys-step p{color:var(--ys-ink-dim);font-size:.92rem;margin:0}

/* Product grid */
.ys-products{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.ys-product-card{background:var(--ys-bg-2);border:1px solid var(--ys-line);border-radius:var(--ys-radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .3s,border-color .3s,box-shadow .3s}
.ys-product-card:hover{transform:translateY(-4px);border-color:var(--ys-gold);box-shadow:var(--ys-shadow)}
.ys-product-card__media{position:relative;aspect-ratio:1/1;overflow:hidden;background:#000}
.ys-product-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.ys-product-card:hover .ys-product-card__media img{transform:scale(1.05)}
.ys-product-card__cat{position:absolute;top:14px;left:14px;background:rgba(0,0,0,.65);color:var(--ys-gold-2);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;padding:6px 10px;border:1px solid var(--ys-line);border-radius:2px}
.ys-product-card__body{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1}
.ys-product-card__title{font-family:var(--ys-font-display);font-size:1.25rem;color:var(--ys-ink);margin:0}
.ys-product-card__title a{color:inherit}
.ys-product-card__title a:hover{color:var(--ys-gold-2)}
.ys-product-card__price{color:var(--ys-gold);font-weight:600;font-size:1.05rem}
.ys-product-card__price del{color:var(--ys-ink-dim);font-weight:400;margin-right:6px;opacity:.6}
.ys-product-card__excerpt{color:var(--ys-ink-dim);font-size:.9rem;flex:1}
.ys-product-card__actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.ys-product-card__actions .ys-btn{flex:1;min-width:120px}

/* Feature blocks */
.ys-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.ys-grid-2 img{border-radius:var(--ys-radius);box-shadow:var(--ys-shadow);border:1px solid var(--ys-line)}
.ys-band{background:linear-gradient(180deg,#0b0a09 0%,#13110f 100%);border-top:1px solid var(--ys-line);border-bottom:1px solid var(--ys-line)}
.ys-band--alt{background:radial-gradient(circle at 20% 10%, rgba(179,38,30,.08), transparent 50%),radial-gradient(circle at 80% 90%,rgba(201,162,74,.08),transparent 60%),var(--ys-bg)}

/* Why choose */
.ys-features{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.ys-feature{padding:26px;border:1px solid var(--ys-line);background:var(--ys-bg-2);border-radius:var(--ys-radius)}
.ys-feature h3{color:var(--ys-gold-2);font-size:1.1rem}
.ys-feature p{color:var(--ys-ink-dim);font-size:.92rem;margin:0}
.ys-feature__icon{width:42px;height:42px;border:1px solid var(--ys-gold);color:var(--ys-gold);display:flex;align-items:center;justify-content:center;border-radius:50%;margin-bottom:14px;font-family:var(--ys-font-display);font-size:1.2rem}

/* FAQ */
.ys-faq{max-width:860px;margin:0 auto}
.ys-faq details{border-bottom:1px solid var(--ys-line);padding:22px 0}
.ys-faq summary{cursor:pointer;font-family:var(--ys-font-display);font-size:1.2rem;color:var(--ys-ink);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px}
.ys-faq summary::-webkit-details-marker{display:none}
.ys-faq summary::after{content:"+";color:var(--ys-gold);font-size:1.6rem;transition:transform .3s;line-height:1}
.ys-faq details[open] summary::after{transform:rotate(45deg)}
.ys-faq details[open] summary{color:var(--ys-gold-2)}
.ys-faq p{color:var(--ys-ink-dim);margin:14px 0 0}

/* Final CTA */
.ys-final-cta{text-align:center;padding:120px 24px;background:linear-gradient(180deg,#0b0a09,#1a0f0a);border-top:1px solid var(--ys-line);border-bottom:1px solid var(--ys-line)}
.ys-final-cta h2{font-size:clamp(2rem,4vw,3rem);color:var(--ys-gold-2)}
.ys-final-cta p{color:var(--ys-ink-dim);max-width:620px;margin:14px auto 30px}

/* Footer */
.ys-footer{background:#070605;border-top:1px solid var(--ys-line);padding:70px 0 24px;color:var(--ys-ink-dim)}
.ys-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
.ys-footer h4{color:var(--ys-gold-2);font-family:var(--ys-font-display);font-size:1.1rem;margin-bottom:18px;letter-spacing:.06em}
.ys-footer ul{list-style:none;margin:0;padding:0}
.ys-footer li{margin-bottom:8px}
.ys-footer a{color:var(--ys-ink-dim);font-size:.9rem}
.ys-footer a:hover{color:var(--ys-gold-2)}
.ys-footer__brand .ys-logo__mark{font-size:1.4rem}
.ys-footer__brand p{font-size:.92rem;margin-top:14px;max-width:280px}
.ys-footer__bottom{margin-top:50px;padding-top:24px;border-top:1px solid var(--ys-line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:.8rem;color:var(--ys-ink-dim)}

/* Page */
.ys-page-hero{padding:80px 0 60px;text-align:center;background:radial-gradient(circle at 50% 0%, rgba(201,162,74,.1), transparent 60%),var(--ys-bg)}
.ys-page-hero h1{font-size:clamp(2.2rem,4.6vw,3.6rem)}
.ys-page-hero p{color:var(--ys-ink-dim);max-width:720px;margin:14px auto 0;font-size:1.05rem}
.ys-prose{max-width:820px;margin:0 auto;color:var(--ys-ink)}
.ys-prose h2{margin-top:50px;color:var(--ys-gold-2)}
.ys-prose h3{margin-top:32px;color:var(--ys-gold-2);font-size:1.2rem}
.ys-prose ul{padding-left:20px}
.ys-prose li{margin-bottom:8px;color:var(--ys-ink-dim)}
.ys-prose strong{color:var(--ys-ink)}

/* WooCommerce overrides */
.woocommerce, .woocommerce-page{color:var(--ys-ink)}
.woocommerce a{color:var(--ys-gold-2)}
.woocommerce ul.products{display:grid !important;grid-template-columns:repeat(3,1fr);gap:28px;margin:0 !important;padding:0 !important;list-style:none}
.woocommerce ul.products li.product{width:auto !important;margin:0 !important;background:var(--ys-bg-2);border:1px solid var(--ys-line);border-radius:var(--ys-radius);padding:0 !important;overflow:hidden;transition:transform .3s,border-color .3s}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);border-color:var(--ys-gold)}
.woocommerce ul.products li.product a img{width:100%;margin:0 !important;border-radius:0;aspect-ratio:1/1;object-fit:cover}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3{font-family:var(--ys-font-display) !important;font-size:1.2rem !important;color:var(--ys-ink) !important;padding:18px 18px 4px !important;margin:0 !important}
.woocommerce ul.products li.product .price{color:var(--ys-gold) !important;font-weight:600 !important;padding:0 18px !important;display:block !important}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{display:inline-flex !important;margin:14px 18px 18px !important;background:linear-gradient(180deg,var(--ys-gold-2),var(--ys-gold)) !important;color:#1a1209 !important;font-weight:600 !important;border-radius:var(--ys-radius) !important;padding:10px 18px !important;text-transform:uppercase !important;font-size:.78rem !important;letter-spacing:.1em !important;border:none !important}
.woocommerce ul.products li.product .button:hover{filter:brightness(1.08)}
.woocommerce .woocommerce-Price-amount{color:var(--ys-gold) !important}
.woocommerce-breadcrumb{color:var(--ys-ink-dim) !important;font-size:.85rem;letter-spacing:.06em;margin-bottom:24px !important}

/* Single product */
.woocommerce div.product .product_title{font-family:var(--ys-font-display);color:var(--ys-ink)}
.woocommerce div.product p.price,
.woocommerce div.product span.price{color:var(--ys-gold) !important;font-size:1.6rem !important}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--ys-ink-dim);font-size:1.02rem;margin:18px 0}
.woocommerce div.product form.cart .button,
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button{
  background:linear-gradient(180deg,var(--ys-red),var(--ys-red-2)) !important;color:#fff !important;
  border-radius:var(--ys-radius) !important;padding:14px 26px !important;text-transform:uppercase !important;
  font-weight:600 !important;letter-spacing:.08em !important;border:none !important;
}
.woocommerce div.product form.cart .button:hover{filter:brightness(1.1)}
.woocommerce div.product .woocommerce-tabs ul.tabs{border-bottom:1px solid var(--ys-line) !important;padding:0 !important}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent !important;border:none !important;border-radius:0 !important}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--ys-ink-dim) !important;padding:14px 20px !important}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ys-gold-2) !important;border-bottom:2px solid var(--ys-gold) !important}
.woocommerce div.product .woocommerce-tabs .panel{background:var(--ys-bg-2);padding:30px;border:1px solid var(--ys-line);border-top:none;border-radius:0 0 var(--ys-radius) var(--ys-radius)}
.woocommerce table.shop_table{border:1px solid var(--ys-line);background:var(--ys-bg-2);color:var(--ys-ink)}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--ys-line) !important;color:var(--ys-ink)}
.woocommerce-info,.woocommerce-message,.woocommerce-error{background:var(--ys-bg-2) !important;color:var(--ys-ink) !important;border-top-color:var(--ys-gold) !important}
.woocommerce-info::before,.woocommerce-message::before{color:var(--ys-gold) !important}

.ys-product-extra{margin-top:20px;display:flex;gap:10px;flex-wrap:wrap}
.ys-product-extra .ys-btn{flex:1;min-width:160px}
.ys-cultural-blocks{margin:50px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ys-cultural-blocks .ys-feature h3{font-size:1.05rem}
.ys-disclaimer{margin-top:40px;padding:20px 24px;background:rgba(179,38,30,.08);border-left:3px solid var(--ys-red);color:var(--ys-ink-dim);font-size:.9rem;border-radius:2px}

/* Mobile sticky cta */
.ys-sticky-mobile{display:none;position:fixed;left:0;right:0;bottom:0;z-index:80;background:rgba(11,10,9,.96);backdrop-filter:blur(8px);border-top:1px solid var(--ys-line);padding:10px 14px;gap:8px}
.ys-sticky-mobile .ys-btn{flex:1;padding:14px 8px;font-size:.78rem}

/* Responsive */
@media (max-width:1024px){
  .ys-products,.woocommerce ul.products{grid-template-columns:repeat(2,1fr) !important}
  .ys-features{grid-template-columns:repeat(2,1fr)}
  .ys-steps{grid-template-columns:repeat(2,1fr)}
  .ys-footer__grid{grid-template-columns:1fr 1fr}
  .ys-grid-2{grid-template-columns:1fr;gap:30px}
  .ys-cultural-blocks{grid-template-columns:1fr}
}
@media (max-width:720px){
  .ys-section{padding:60px 0}
  .ys-burger{display:inline-flex}
  .ys-nav{position:fixed;inset:64px 0 0;background:rgba(11,10,9,.98);backdrop-filter:blur(10px);flex-direction:column;align-items:stretch;padding:20px;transform:translateX(100%);transition:transform .3s;overflow-y:auto;z-index:99}
  .ys-nav.is-open{transform:translateX(0)}
  .ys-nav ul{flex-direction:column;width:100%;gap:0}
  .ys-nav a{padding:16px;border-bottom:1px solid var(--ys-line);font-size:1rem}
  .ys-mini-cart{display:none}
  .ys-products,.woocommerce ul.products{grid-template-columns:1fr !important}
  .ys-features,.ys-steps,.ys-footer__grid{grid-template-columns:1fr}
  .ys-hero{min-height:80vh}
  .ys-hero__cta{flex-direction:column;align-items:stretch}
  .ys-hero__cta .ys-btn{width:100%}
  body.single-product{padding-bottom:80px}
  body.single-product .ys-sticky-mobile{display:flex}
}
