/* ============================================================
   Sigurd Royal Court — homepage stylesheet
   Extracted and adapted from the Claude Design prototype.
   Prefix: srct-
   ============================================================ */

:root{
  --srct-bg:#FAF6F0;
  --srct-paper:#FFFCF6;
  --srct-surface:#FFFFFF;
  --srct-ink:#1F1538;
  --srct-ink-soft:#3A2D52;
  --srct-muted:#6F6483;
  --srct-muted-2:#9A91A9;
  --srct-rule:#E9DFD0;
  --srct-rule-strong:#D7C7B6;

  --srct-royal-900:#2D1B4E;
  --srct-royal-700:#5B2E92;
  --srct-royal-500:#7B4DBD;
  --srct-royal-200:#D9C7F2;
  --srct-royal-50:#F3ECFB;

  --srct-honey-700:#B8861F;
  --srct-honey-500:#E8B83A;
  --srct-honey-300:#F4D67A;
  --srct-honey-200:#F8E7B5;
  --srct-honey-50:#FBF3DA;

  --srct-serif:"Yeseva One","Songti SC",Georgia,serif;
  --srct-sans:"DM Sans","PingFang SC","Microsoft YaHei",sans-serif;
  --srct-mono:"JetBrains Mono",ui-monospace,monospace;
  --srct-zh:"PingFang SC","Noto Sans SC","Microsoft YaHei",sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{scroll-behavior:smooth;}
body.srct-body{
  font-family:var(--srct-sans);
  font-size:16px;
  line-height:1.55;
  color:var(--srct-ink);
  background:var(--srct-bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
.srct-body img{display:block;max-width:100%;}
/* :where() drops the element selector to 0 specificity so any class-targeted
   rule below (.srct-dl, .srct-btn, etc.) can set its own colour without
   needing extra specificity boilerplate. */
.srct-body :where(a){color:inherit;text-decoration:none;}
.srct-body button{font:inherit;cursor:pointer;}

/* Paper grain layer over everything */
body.srct-body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:1;
  opacity:.5;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.12  0 0 0 0 0.08  0 0 0 0 0.18  0 0 0 .06 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  mix-blend-mode:multiply;
}

.srct-wrap{width:100%;max-width:1280px;margin:0 auto;padding:0 36px;position:relative;z-index:2;}
@media (max-width:720px){ .srct-wrap{padding:0 20px;} }

/* ============================================================ */
/* Announcement bar                                              */
.srct-ann{background:var(--srct-royal-900);color:var(--srct-paper);position:relative;z-index:5;}
.srct-ann-inner{
  max-width:1280px;margin:0 auto;
  padding:10px 96px; /* extra right room for dots + close (absolute) */
  position:relative;
  display:flex;align-items:center;justify-content:center;gap:18px;
  font-size:13px;font-family:var(--srct-sans);letter-spacing:.01em;
}

/* Rotator — slides share the same grid cell so the bar height matches
   the tallest message and we can transform between them. Rotator itself
   only takes the natural width of its widest slide so the active slide
   can be visually centred across the whole bar. */
.srct-ann-rotator{
  flex:0 1 auto;max-width:100%;
  display:grid;position:relative;overflow:hidden;min-height:22px;align-items:center;
}
.srct-ann-slide{
  grid-area:1 / 1;
  display:flex;align-items:center;justify-content:center;gap:14px;
  text-align:center;
  color:inherit;text-decoration:none;
  opacity:0;pointer-events:none;
  transition:opacity .45s ease, transform .55s cubic-bezier(.2,.7,.2,1);
  will-change:transform,opacity;
}
.srct-ann-slide.is-active{opacity:1;pointer-events:auto;transform:translateY(0);}

/* Inactive (and not-leaving) slides park off-screen so they can slide in.
   Scoped via :not() so the .is-active rule above still wins. */
.srct-ann[data-animation="up"] .srct-ann-slide:not(.is-active):not(.is-leaving){transform:translateY(110%);}
.srct-ann[data-animation="up"] .srct-ann-slide.is-leaving{transform:translateY(-110%);opacity:0;}

.srct-ann[data-animation="down"] .srct-ann-slide:not(.is-active):not(.is-leaving){transform:translateY(-110%);}
.srct-ann[data-animation="down"] .srct-ann-slide.is-leaving{transform:translateY(110%);opacity:0;}

.srct-ann[data-animation="fade"] .srct-ann-slide:not(.is-active):not(.is-leaving){transform:none;}
.srct-ann[data-animation="fade"] .srct-ann-slide.is-leaving{opacity:0;}

.srct-ann-pill{background:var(--srct-honey-500);color:var(--srct-royal-900);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:5px 10px;border-radius:999px;font-family:var(--srct-mono);flex-shrink:0;}
.srct-ann-text{display:inline-block;}
.srct-ann-text em{font-style:italic;font-family:var(--srct-serif);font-weight:400;color:var(--srct-honey-300);}

.srct-ann-dots{
  display:flex;gap:6px;align-items:center;
  position:absolute;top:50%;right:60px;transform:translateY(-50%);
}
.srct-ann-dot{
  width:7px;height:7px;border-radius:50%;
  background:rgba(255,255,255,.25);border:0;padding:0;cursor:pointer;
  transition:background .2s ease, transform .2s ease;
}
.srct-ann-dot:hover{background:rgba(255,255,255,.45);}
.srct-ann-dot.is-active{background:var(--srct-honey-300);transform:translateY(0) scale(1.15);}
.srct-ann-dots .srct-ann-dot.is-active{transform:scale(1.15);}

.srct-ann-close{
  background:transparent;border:1px solid rgba(255,255,255,.18);color:var(--srct-paper);
  width:24px;height:24px;border-radius:99px;display:grid;place-items:center;font-size:14px;line-height:1;
  position:absolute;top:50%;right:20px;transform:translateY(-50%);
}
.srct-ann-close:hover{background:rgba(255,255,255,.06);}

@media (max-width:720px){
  .srct-ann-inner{padding:8px 48px;font-size:12px;gap:12px;}
  .srct-ann-slide{gap:10px;}
  .srct-ann-dots{display:none;}
  .srct-ann-close{right:12px;}
}
@media (prefers-reduced-motion: reduce){
  .srct-ann-slide{transition:opacity .2s ease;transform:none!important;}
}

/* ============================================================ */
/* Nav                                                           */
.srct-nav{position:sticky;top:0;z-index:30;background:rgba(250,246,240,.85);backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--srct-rule);}
.srct-nav-inner{max-width:1280px;margin:0 auto;padding:14px 36px;display:flex;align-items:center;gap:28px;}
.srct-brand{display:flex;align-items:center;gap:12px;font-family:var(--srct-serif);font-weight:400;font-style:italic;font-size:23px;letter-spacing:-.005em;color:var(--srct-ink);}
.srct-brand-text{display:flex;flex-direction:column;line-height:1;}
.srct-brand-mark{width:34px;height:34px;border-radius:8px;overflow:hidden;background:var(--srct-royal-700);display:grid;place-items:center;}
.srct-brand-mark img{width:96%;height:auto;}
.srct-brand small{display:block;font-family:var(--srct-mono);font-style:normal;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--srct-muted);font-weight:500;margin-top:4px;}

/* Primary nav — wp_nav_menu output uses <ul><li><a>; reset the list and
   keep the existing link styling on the <a>. */
.srct-nav-links{
  list-style:none;margin:0 0 0 auto;padding:0;
  display:flex;gap:24px;font-size:14px;color:var(--srct-ink-soft);
}
.srct-nav-links li{margin:0;padding:0;}
.srct-nav-links a{position:relative;padding:6px 2px;display:inline-block;}
.srct-nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--srct-royal-700);transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
.srct-nav-links a:hover::after,
.srct-nav-links .current-menu-item > a::after,
.srct-nav-links a.is-here::after{transform:scaleX(1);}
.srct-nav-links .current-menu-item > a,
.srct-nav-links a.is-here{color:var(--srct-royal-700);}

/* Inline language switcher — pill with bold active item, dot separators. */
.srct-lang{
  font-family:var(--srct-mono);font-size:12px;letter-spacing:.06em;color:var(--srct-muted);
  padding:7px 14px;border:1px solid var(--srct-rule-strong);border-radius:999px;
  display:inline-flex;align-items:center;gap:6px;flex-wrap:nowrap;
}
.srct-lang-link{color:var(--srct-muted);transition:color .2s ease;}
.srct-lang-link:hover{color:var(--srct-ink);}
.srct-lang-link.is-active{color:var(--srct-ink);}
.srct-lang-link b{color:var(--srct-ink);font-weight:600;letter-spacing:.04em;}
.srct-lang-sep{color:var(--srct-muted-2);user-select:none;}
/* Popover is mobile-only; on desktop it's a no-op DOM node. */
.srct-lang-popover{display:none;}

.srct-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;font-weight:600;font-size:14px;border:1px solid transparent;line-height:1;transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;}
.srct-btn:hover{transform:translateY(-1px);}
.srct-btn-primary{background:var(--srct-royal-700);color:#fff;box-shadow:0 8px 20px -10px rgba(91,46,146,.55);}
.srct-btn-primary:hover{background:var(--srct-royal-900);}
.srct-btn-honey{background:var(--srct-honey-500);color:var(--srct-ink);box-shadow:0 8px 20px -10px rgba(232,184,58,.6);}
.srct-btn-honey:hover{background:var(--srct-honey-300);}
.srct-btn-ghost{background:transparent;color:var(--srct-ink);border-color:var(--srct-rule-strong);}
.srct-btn-ghost:hover{background:var(--srct-royal-50);border-color:var(--srct-royal-200);}
.srct-btn-arrow::after{content:"→";display:inline-block;transition:transform .25s ease;}
.srct-btn-arrow:hover::after{transform:translateX(4px);}

.srct-nav-menu{
  display:none;width:40px;height:40px;border-radius:10px;
  background:transparent;border:1px solid var(--srct-rule-strong);
  align-items:center;justify-content:center;flex-direction:column;gap:5px;
  cursor:pointer;
  transition:background .2s, border-color .2s;
}
.srct-nav-menu span{
  width:18px;height:1.5px;background:var(--srct-ink);display:block;
  transition:transform .3s cubic-bezier(.5,.1,.2,1), opacity .2s ease;
}
/* Hamburger → X transform when the menu is open. */
.srct-nav-menu.is-open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.srct-nav-menu.is-open span:nth-child(2){opacity:0;}
.srct-nav-menu.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

@media (max-width:900px){
  /* Hide only the desktop nav-links list; lang pill stays visible so
     users can still switch language without opening the drawer. */
  .srct-nav-links{display:none;}
  .srct-nav-menu{display:flex;}
  .srct-nav-inner{padding:12px 20px;gap:10px;}
  /* Push everything after brand to the right since nav-links (which used
     to carry margin-left:auto) is now removed from the flex flow. */
  .srct-brand{font-size:18px;margin-right:auto;}
  .srct-brand small{display:none;}

  /* Compact language pill: smaller padding/font, tighter gap. */
  .srct-lang{
    padding:5px 10px;font-size:11px;gap:4px;
  }
  .srct-lang-link{padding:0 2px;}
  .srct-lang-sep{margin:0 1px;font-size:10px;}

  /* Hidden state: drawer parked above viewport with no height. */
  .srct-nav-links{
    display:flex!important;
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;gap:0;
    background:var(--srct-paper);
    margin:0;padding:0 20px;
    border-bottom:0 solid var(--srct-rule);
    max-height:0;overflow:hidden;
    opacity:0;transform:translateY(-8px);
    transition:max-height .35s cubic-bezier(.2,.7,.2,1),
               padding .35s cubic-bezier(.2,.7,.2,1),
               opacity .25s ease,
               transform .35s cubic-bezier(.2,.7,.2,1),
               border-bottom-width .35s ease;
    pointer-events:none;
  }
  .srct-nav-links.is-open{
    max-height:80vh;padding:14px 20px 18px;
    opacity:1;transform:translateY(0);
    border-bottom-width:1px;
    pointer-events:auto;
    box-shadow:0 18px 36px -16px rgba(31,21,56,.22);
    overflow:auto;
  }
  .srct-nav-links li{
    border-bottom:1px dashed var(--srct-rule);
  }
  .srct-nav-links li:last-child{border-bottom:none;}
  .srct-nav-links a{padding:14px 4px;font-size:16px;display:block;}

  /* Each item slides in with a tiny stagger when the drawer opens. */
  .srct-nav-links li{
    opacity:0;transform:translateY(-6px);
    transition:opacity .35s ease, transform .35s cubic-bezier(.2,.7,.2,1);
  }
  .srct-nav-links.is-open li{opacity:1;transform:translateY(0);}
  .srct-nav-links.is-open li:nth-child(1){transition-delay:.06s;}
  .srct-nav-links.is-open li:nth-child(2){transition-delay:.10s;}
  .srct-nav-links.is-open li:nth-child(3){transition-delay:.14s;}
  .srct-nav-links.is-open li:nth-child(4){transition-delay:.18s;}
  .srct-nav-links.is-open li:nth-child(5){transition-delay:.22s;}
  .srct-nav-links.is-open li:nth-child(6){transition-delay:.26s;}

  /* Pre-order CTA: compact on tablets, then icon-only on phones. */
  .srct-nav .srct-btn-honey{padding:10px 14px;font-size:13px;}
}
@media (max-width:540px){
  /* On real phones the button label disappears, leaving the honey arrow
     as a compact CTA. The button label still reads in screen readers
     because we keep the text and just hide it visually. */
  .srct-nav .srct-btn-honey{
    font-size:0;padding:10px 12px;gap:0;
  }
  .srct-nav .srct-btn-honey::after{
    content:"→";font-size:14px;font-weight:700;color:inherit;
  }
  .srct-nav .srct-btn-honey.srct-btn-arrow::after{
    margin:0; /* override the default arrow rule's spacing */
  }

  /* Sub-mobile language switcher: collapse to "current code ▾" pill that
     pops the full list open on tap (handled via JS .is-open toggle). */
  .srct-nav .srct-lang{
    position:relative;cursor:pointer;
    padding:6px 10px;gap:4px;
  }
  .srct-nav .srct-lang::after{
    content:"▾";font-size:10px;color:var(--srct-muted);margin-left:2px;
    transition:transform .25s ease;
  }
  .srct-nav .srct-lang.is-open::after{transform:rotate(180deg);}
  /* Hide every link + separator except the active one. */
  .srct-nav .srct-lang > .srct-lang-link:not(.is-active),
  .srct-nav .srct-lang > .srct-lang-sep{display:none;}
  /* When opened, render the full list as a small dropdown below. */
  .srct-nav .srct-lang.is-open > .srct-lang-link:not(.is-active),
  .srct-nav .srct-lang.is-open > .srct-lang-sep{display:none;} /* keep sep hidden */
  .srct-nav .srct-lang.is-open{
    /* Become positioning context for the popover layer below. */
  }
  .srct-nav .srct-lang .srct-lang-popover{
    display:none;
    position:absolute;top:calc(100% + 6px);right:0;
    background:var(--srct-paper);border:1px solid var(--srct-rule-strong);
    border-radius:10px;padding:6px;min-width:120px;
    box-shadow:0 18px 36px -16px rgba(31,21,56,.28);z-index:50;
    flex-direction:column;gap:2px;
  }
  .srct-nav .srct-lang.is-open .srct-lang-popover{display:flex;}
  .srct-nav .srct-lang .srct-lang-popover a{
    padding:8px 10px;border-radius:7px;font-size:12px;
    color:var(--srct-ink);
  }
  .srct-nav .srct-lang .srct-lang-popover a:hover,
  .srct-nav .srct-lang .srct-lang-popover a.is-active{
    background:var(--srct-royal-50);color:var(--srct-royal-700);font-weight:600;
  }
}

/* ============================================================ */
/* Hero                                                          */
.srct-hero{position:relative;min-height:calc(100vh - 86px);display:flex;flex-direction:column;justify-content:stretch;padding:80px 0 60px;overflow:hidden;isolation:isolate;}
/* Make the wrap a full-height flex column so .srct-hero-content can vertically
   centre itself (margin:auto 0) and .srct-hero-marquee can pin to the bottom
   (margin-top:auto), regardless of how little content sits in between. */
.srct-hero > .srct-wrap{display:flex;flex-direction:column;flex:1;width:100%;min-width:0;min-height:0;}
.srct-hero-video{position:absolute;inset:0;z-index:-2;overflow:hidden;}
.srct-hero-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:2;}
.srct-hero-bg{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;
  object-position:var(--srct-hero-bg-pos, center);
  z-index:1;
}
/* When an image is provided, suppress the animated gradient placeholder so
   the image (and any video on top) read cleanly. */
.srct-hero.has-bg-image .srct-hero-video::before,
.srct-hero.has-bg-image .srct-hero-video::after{display:none;}
.srct-hero-video::before{
  content:"";position:absolute;inset:-10%;
  background:
    radial-gradient(40% 50% at 20% 30%, #F4D67A55, transparent 70%),
    radial-gradient(50% 60% at 80% 70%, #C9A6E680, transparent 70%),
    radial-gradient(35% 40% at 50% 50%, #E8B83A45, transparent 70%),
    linear-gradient(135deg, #FBF3DA 0%, #F5E5D8 40%, #E5D2EE 100%);
  animation:srct-roy-bg 22s ease-in-out infinite alternate;
  filter:blur(0.3px);
}
@keyframes srct-roy-bg{
  0%{transform:scale(1.05) translate(0,0) rotate(0deg);}
  100%{transform:scale(1.1) translate(-2%,1%) rotate(2deg);}
}
.srct-hero-video::after{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(circle at 18% 22%, #FFFFFF50, transparent 28%),
    radial-gradient(circle at 78% 78%, #FFFFFF38, transparent 25%);
  mix-blend-mode:screen;
  animation:srct-roy-glow 9s ease-in-out infinite alternate;
}
@keyframes srct-roy-glow{
  0%{opacity:.7;}
  100%{opacity:1;}
}
.srct-hero-tint{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg, rgba(250,246,240,0) 50%, rgba(250,246,240,.92) 100%);}

/* Readability overlay sits between the video/image and the text content.
   Opacity comes from the --srct-hero-overlay-alpha CSS var the template
   writes inline based on the Customizer "overlay opacity" slider. */
.srct-hero-overlay{
  position:absolute;inset:0;z-index:-1;pointer-events:none;
  opacity:var(--srct-hero-overlay-alpha, 0);
  transition:opacity .35s ease;
}
.srct-hero.overlay-paper .srct-hero-overlay{
  /* Cream wash matching the page background — keeps the dark serif text
     readable on bright or busy video without inverting the colour scheme. */
  background:rgba(250,246,240,1);
}
.srct-hero.overlay-dark .srct-hero-overlay{
  /* Darken the video; pair with light-coloured text if you flip this on. */
  background:rgba(31,21,56,1);
}
.srct-hero.overlay-gradient .srct-hero-overlay{
  /* Subtle bottom-only cream gradient on top of any video. */
  background:linear-gradient(180deg, rgba(250,246,240,0) 0%, rgba(250,246,240,1) 100%);
}

.srct-hero-content{max-width:1000px;margin:auto;text-align:center;padding:60px 0;position:relative;}
.srct-hero h1{
  font-family:var(--srct-serif);
  font-weight:400;
  /* Max capped so the longest English line ("Evolve the Legend.") fits the
     1000px hero-content container without wrapping at wide viewports. */
  font-size:clamp(44px, 7vw, 96px);
  /* Tall enough that Yeseva One ascenders + descenders + faux-italic strokes
     stay inside the clip mask below. */
  line-height:1.12;
  letter-spacing:-.018em;
  margin:0 0 22px;
  color:var(--srct-ink);
}
.srct-hero h1 .srct-line{
  display:block;
  overflow:hidden;
  /* Vertical breathing room for descenders that would otherwise be clipped
     by the mask used for the entrance reveal animation. */
  padding:0.08em 0;
  margin:-0.04em 0;
}
.srct-hero h1 .srct-line > span{
  display:block;
  /* Never wrap mid-line — the user wants each line to stay one row. */
  white-space:nowrap;
}
.srct-hero h1 em{font-style:italic;color:var(--srct-royal-700);font-weight:400;}

.srct-hero-zh{font-family:var(--srct-zh);font-size:clamp(18px,2vw,22px);letter-spacing:.18em;color:var(--srct-ink-soft);margin:0 0 28px;}
.srct-hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

.srct-hero-marquee{margin-top:auto;padding-top:48px;overflow:hidden;position:relative;border-top:1px solid var(--srct-rule-strong);}
.srct-hero-marquee-track{display:flex;gap:48px;width:max-content;animation:srct-roy-marquee 30s linear infinite;padding:18px 0 4px;}
.srct-hero-marquee span{font-family:var(--srct-serif);font-style:italic;font-weight:400;font-size:24px;color:var(--srct-ink-soft);white-space:nowrap;display:inline-flex;align-items:center;gap:48px;}
.srct-hero-marquee span::after{content:"✦";color:var(--srct-honey-500);font-size:14px;font-style:normal;}
@keyframes srct-roy-marquee{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

.srct-motes{position:absolute;inset:0;pointer-events:none;z-index:-1;}
.srct-mote{position:absolute;width:6px;height:6px;border-radius:99px;background:var(--srct-honey-500);opacity:.5;filter:blur(1px);animation:srct-mote-float 12s ease-in-out infinite;}
.srct-mote:nth-child(1){top:18%;left:8%;width:5px;height:5px;animation-delay:0s;}
.srct-mote:nth-child(2){top:30%;left:88%;width:8px;height:8px;background:var(--srct-royal-500);animation-delay:-3s;}
.srct-mote:nth-child(3){top:60%;left:14%;width:4px;height:4px;animation-delay:-6s;}
.srct-mote:nth-child(4){top:75%;left:78%;width:7px;height:7px;background:var(--srct-royal-200);animation-delay:-2s;}
.srct-mote:nth-child(5){top:25%;left:50%;width:3px;height:3px;animation-delay:-9s;}
.srct-mote:nth-child(6){top:80%;left:38%;width:5px;height:5px;background:var(--srct-honey-300);animation-delay:-5s;}
@keyframes srct-mote-float{
  0%,100%{transform:translate(0,0);}
  50%{transform:translate(20px,-30px);}
}

@media (max-width:900px){
  .srct-hero{min-height:calc(100svh - 136px);padding:56px 0 32px;}
  .srct-hero > .srct-wrap{justify-content:center;}
  .srct-hero-content{max-width:100%;margin:0 auto;padding:0 0 28px;}
  .srct-hero h1{font-size:clamp(44px,10vw,72px);line-height:1.06;letter-spacing:0;margin-bottom:16px;}
  .srct-hero h1 .srct-line > span{white-space:normal;}
  .srct-hero-zh{max-width:24rem;margin:0 auto 22px;font-size:16px;line-height:1.45;letter-spacing:.04em;}
  .srct-hero-tint{background:linear-gradient(180deg, rgba(250,246,240,.08) 0%, rgba(250,246,240,.48) 58%, rgba(250,246,240,.96) 100%);}
  .srct-hero-marquee{padding-top:24px;}
  .srct-hero-marquee span{font-size:18px;gap:32px;}
}
@supports (height:100dvh){
  @media (max-width:900px){
    .srct-hero{min-height:calc(100dvh - 136px);}
  }
}
@media (max-width:720px){
  .srct-hero h1{font-size:clamp(40px,14vw,58px);}
  .srct-hero-cta{display:grid;grid-template-columns:1fr;gap:12px;width:min(100%,320px);margin:0 auto;}
  .srct-hero-cta .srct-btn{width:100%;min-height:48px;justify-content:center;padding:14px 18px;line-height:1.15;text-align:center;white-space:normal;}
}

/* ============================================================ */
/* Generic section                                               */
.srct-section{padding:120px 0;border-top:1px solid var(--srct-rule);position:relative;}
.srct-section:first-of-type{border-top:none;}

/* ── Story section — narrative chapter between App and Buy.
   Single-column, centered, quieter than the surrounding grids so
   the brand voice has room to breathe. Background subtly differs
   from neighbours via a vertical gradient toward the honey accent. */
.srct-story{
  background:linear-gradient(180deg, var(--srct-bg) 0%, #fff 60%, var(--srct-honey-50) 100%);
  padding:110px 0 130px;
}
.srct-story-inner{
  max-width:760px;margin:0 auto;text-align:center;padding:0 20px;
}
.srct-story-logo-badge{
  width:92px;height:92px;margin:0 auto 22px;padding:12px;
  display:grid;place-items:center;border-radius:50%;
  background:linear-gradient(180deg, rgba(255,255,255,.94) 0%, rgba(251,243,218,.78) 100%);
  border:1px solid rgba(184,134,31,.34);
  box-shadow:0 18px 42px rgba(91,46,146,.12), inset 0 1px 0 rgba(255,255,255,.86);
}
.srct-story-logo-badge img{
  width:100%;height:100%;display:block;object-fit:contain;border-radius:50%;
}
.srct-story-eyebrow{
  display:inline-block;font-family:var(--srct-mono);font-size:11px;
  letter-spacing:.32em;text-transform:uppercase;color:var(--srct-royal-700);
  font-weight:600;margin-bottom:22px;
}
.srct-story-headline{
  margin:0 0 44px;font-family:var(--srct-serif);font-weight:400;
  font-size:48px;letter-spacing:-.015em;line-height:1.1;color:var(--srct-ink);
}
.srct-story-headline em{font-style:italic;color:var(--srct-royal-700);font-weight:400;}
@media (max-width:720px){.srct-story-headline{font-size:34px;margin-bottom:32px;}}

.srct-story-body{
  display:flex;flex-direction:column;gap:18px;
  text-align:left;
}
.srct-story-body p{
  margin:0;font-size:15.5px;line-height:1.78;color:var(--srct-ink-soft);
}
.srct-story-body p::first-letter{
  font-family:var(--srct-serif);font-style:italic;font-weight:400;
  font-size:1.4em;color:var(--srct-royal-700);
  padding-right:.06em;line-height:1;
}

.srct-story-closing{
  margin:48px auto 0;padding:32px 28px;max-width:680px;
  border-top:1px solid var(--srct-honey-500);
  text-align:center;
}
.srct-story-closing-intro{
  margin:0 0 18px;font-family:var(--srct-mono);
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--srct-muted);font-weight:600;
}
.srct-story-closing-slogan{
  margin:0 0 14px;font-family:var(--srct-serif);font-style:italic;
  font-size:26px;line-height:1.35;color:var(--srct-royal-700);
  letter-spacing:-.005em;font-weight:400;
}
.srct-story-closing-body{
  margin:0;font-family:var(--srct-sans, inherit);
  font-size:15px;line-height:1.7;color:var(--srct-ink-soft);
}
@media (max-width:720px){
  .srct-story{padding:86px 0 104px;}
  .srct-story-logo-badge{width:72px;height:72px;padding:10px;margin-bottom:18px;}
  .srct-story-closing{padding:24px 16px;margin-top:34px;}
  .srct-story-closing-slogan{font-size:21px;}
  .srct-story-closing-body{font-size:14px;}
}
.srct-section-label{display:flex;align-items:center;gap:14px;font-family:var(--srct-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--srct-royal-700);margin-bottom:24px;}
.srct-section-label::after{content:"";flex:1;height:1px;background:var(--srct-rule-strong);}
.srct-section-title{font-family:var(--srct-serif);font-weight:400;font-size:clamp(36px,4.5vw,64px);line-height:1.06;letter-spacing:-.012em;margin:0 0 18px;max-width:980px;}
.srct-section-title em{font-style:italic;color:var(--srct-royal-700);font-weight:400;}
.srct-section-sub{font-family:var(--srct-sans);font-size:18px;color:var(--srct-muted);max-width:680px;margin:0 0 60px;line-height:1.55;}
@media (max-width:720px){
  .srct-section{padding:80px 0;}
  .srct-section-sub{margin-bottom:36px;font-size:16px;}
}

/* ============================================================ */
/* Pain points                                                   */
.srct-pain-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:24px;border-top:1px solid var(--srct-rule-strong);padding-top:28px;}
.srct-pain-card{position:relative;display:flex;min-width:0;flex-direction:column;padding:0 0 30px;border-bottom:1px solid var(--srct-rule);}
.srct-pain-media{margin:0 0 24px;aspect-ratio:2/1;border:1px solid var(--srct-rule);border-radius:16px;overflow:hidden;background:linear-gradient(135deg, #fff, var(--srct-paper));box-shadow:0 20px 44px -32px rgba(40, 22, 63, .35);}
.srct-pain-media img{display:block;width:100%;height:100%;object-fit:cover;}
.srct-pain-num{font-family:var(--srct-serif);font-style:italic;font-weight:400;font-size:44px;line-height:1;color:var(--srct-honey-500);display:block;margin:0 0 16px;letter-spacing:-.02em;}
.srct-pain-title{font-family:var(--srct-serif);font-weight:400;font-size:30px;line-height:1.12;letter-spacing:-.005em;margin:0 0 12px;color:var(--srct-ink);}
.srct-pain-desc{font-size:15px;color:var(--srct-muted);line-height:1.65;margin:0 0 14px;}
@media (max-width:900px){
  .srct-pain-grid{grid-template-columns:repeat(2, minmax(0, 1fr));gap:22px;}
}
@media (max-width:640px){
  .srct-pain-grid{grid-template-columns:1fr;gap:26px;padding-top:24px;}
  .srct-pain-card{padding-bottom:28px;}
  .srct-pain-card:last-child{border-bottom:none;}
  .srct-pain-title{font-size:27px;}
}

/* ============================================================ */
/* Works                                                         */
.srct-works{background:var(--srct-paper);margin:0 -36px;padding:120px 36px;border-radius:24px;position:relative;border:1px solid var(--srct-rule);}
.srct-works-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:40px;margin-top:60px;position:relative;}
.srct-works-grid::before{content:"";position:absolute;left:8%;right:8%;top:36px;height:1px;background:repeating-linear-gradient(90deg, var(--srct-honey-500) 0 6px, transparent 6px 14px);opacity:.7;z-index:0;}
.srct-step{position:relative;z-index:1;display:flex;flex-direction:column;}
.srct-step-badge{width:72px;height:72px;border-radius:50%;background:var(--srct-bg);border:1px solid var(--srct-rule-strong);display:grid;place-items:center;font-family:var(--srct-serif);font-style:italic;font-weight:400;font-size:36px;color:var(--srct-royal-700);margin-bottom:28px;box-shadow:0 6px 18px -10px rgba(91,46,146,.4);}
.srct-step-thumb{aspect-ratio:5/4;border-radius:14px;overflow:hidden;background:linear-gradient(160deg, var(--srct-royal-50), var(--srct-honey-50));border:1px solid var(--srct-rule);display:grid;place-items:center;margin-bottom:24px;position:relative;}
.srct-step-thumb svg{width:55%;height:auto;}
/* Editor-uploaded image variant — fills the same 5:4 thumb slot. */
.srct-step-thumb-image{background:#fff;}
.srct-step-thumb-image img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;display:block;
}
.srct-step-thumb-tag{position:absolute;top:14px;left:14px;font-family:var(--srct-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--srct-muted);background:rgba(255,255,255,.7);padding:4px 8px;border-radius:99px;}
.srct-step-title{font-family:var(--srct-serif);font-weight:400;font-size:26px;line-height:1.18;letter-spacing:-.005em;margin:0 0 6px;}
.srct-step-desc{font-size:15px;color:var(--srct-muted);line-height:1.65;margin:0 0 8px;}

/* Watch-video CTA — lite-embed pattern under the 3-step grid. The button
   is a thin royal-outlined pill; on open it shows a × close affordance and
   the iframe slides in below at 16:9 aspect ratio. */
.srct-works-video{margin:48px auto 0;text-align:center;max-width:880px;}
.srct-works-video-btn{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--srct-royal-700);
  border:1.5px solid var(--srct-royal-700);
  color:#fff;
  border-radius:99px;
  font-family:var(--srct-mono);font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  padding:14px 28px;cursor:pointer;
  box-shadow:0 12px 28px -14px rgba(91,46,146,.55);
  transition:background .2s,border-color .2s,transform .18s,box-shadow .2s;
}
.srct-works-video-btn:hover{
  background:var(--srct-ink);
  border-color:var(--srct-ink);
  box-shadow:0 18px 38px -16px rgba(31,21,56,.7);
  transform:translateY(-1px);
}
.srct-works-video-btn-ic{display:inline-flex;width:14px;height:14px;}
.srct-works-video-btn-ic svg{width:100%;height:100%;}
.srct-works-video-btn-close{display:none;font-family:var(--srct-sans);font-size:20px;line-height:1;margin-left:2px;font-weight:400;}
.srct-works-video.is-open .srct-works-video-btn-ic,
.srct-works-video.is-open .srct-works-video-btn-label{display:none;}
.srct-works-video.is-open .srct-works-video-btn-close{display:inline-flex;}
.srct-works-video.is-open .srct-works-video-btn{
  background:var(--srct-ink);border-color:var(--srct-ink);color:#fff;
  box-shadow:0 6px 16px -8px rgba(31,21,56,.5);
}

.srct-works-video-frame{
  margin-top:24px;position:relative;
  width:100%;
  aspect-ratio:16/9;
  min-height:280px; /* fallback when aspect-ratio is unsupported (Safari < 15) */
  background:var(--srct-ink);
  border-radius:16px;overflow:hidden;
  box-shadow:0 30px 60px -30px rgba(45,27,78,.4);
  animation:srct-works-video-in .35s ease;
}
.srct-works-video-frame[hidden]{display:none !important;}
.srct-works-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;}
@keyframes srct-works-video-in{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:translateY(0);}}

@media (max-width:900px){
  .srct-works{margin:0;}
  .srct-works-grid{grid-template-columns:1fr;gap:48px;}
  .srct-works-grid::before{display:none;}
  .srct-works-video{margin-top:36px;}
}

/* ============================================================ */
/* App experience                                                */
.srct-app-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:60px;align-items:center;}
.srct-app-features{display:flex;flex-direction:column;gap:8px;}
.srct-feat{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:24px 0;border-top:1px solid var(--srct-rule);cursor:pointer;transition:padding .25s ease;}
.srct-feat:last-child{border-bottom:1px solid var(--srct-rule);}
.srct-feat:hover{padding-left:6px;}
.srct-feat-num{font-family:var(--srct-mono);font-size:12px;letter-spacing:.18em;color:var(--srct-royal-700);padding-top:6px;}
.srct-feat-title{font-family:var(--srct-serif);font-weight:400;font-size:26px;line-height:1.18;letter-spacing:-.005em;margin:0 0 4px;}
.srct-feat-desc{font-size:15px;color:var(--srct-muted);line-height:1.6;margin:0 0 8px;}

.srct-app-stack{position:relative;height:560px;display:flex;justify-content:center;align-items:center;}
/* When the editor uploads a real image, drop the phone-mockup absolute
   positioning and let the <img> fill the same slot proportionally. */
.srct-app-stack-image{padding:0;}
.srct-app-stack-image img{
  max-width:100%;max-height:100%;width:auto;height:auto;
  object-fit:contain;display:block;
  filter:drop-shadow(0 30px 60px rgba(31,21,56,.18));
}
.srct-phone{position:absolute;width:220px;aspect-ratio:9/19;border-radius:32px;background:#FFF;border:1px solid var(--srct-rule-strong);box-shadow:0 30px 60px -30px rgba(45,27,78,.5);overflow:hidden;padding:14px 10px;display:flex;flex-direction:column;gap:8px;}
.srct-phone::before{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:60px;height:6px;border-radius:99px;background:#1F1538;}
.srct-phone-screen{flex:1;border-radius:20px;background:linear-gradient(170deg, var(--srct-royal-50), #fff);padding:18px 12px;display:flex;flex-direction:column;font-family:var(--srct-mono);}
.srct-phone-1{transform:translate(-70px, -10px) rotate(-6deg);z-index:1;}
.srct-phone-2{transform:translate(0px, 14px) rotate(1deg);z-index:3;border-color:var(--srct-royal-200);}
.srct-phone-3{transform:translate(70px, -8px) rotate(7deg);z-index:2;}
.srct-phone-screen .srct-ps-row{display:flex;justify-content:space-between;font-size:9px;color:var(--srct-muted);}
.srct-phone-screen .srct-ps-score{font-family:var(--srct-serif);font-weight:400;font-size:84px;line-height:1;color:var(--srct-royal-700);text-align:center;margin:30px 0 6px;font-style:italic;letter-spacing:-.025em;}
.srct-phone-screen .srct-ps-vs{text-align:center;font-size:10px;letter-spacing:.18em;color:var(--srct-muted);margin-bottom:10px;}
.srct-phone-screen .srct-ps-status{margin-top:auto;background:var(--srct-honey-500);color:var(--srct-ink);font-size:10px;font-weight:700;letter-spacing:.1em;text-align:center;padding:8px;border-radius:8px;}
.srct-phone-2 .srct-phone-screen .srct-ps-score{color:var(--srct-honey-700);}
.srct-phone-3 .srct-phone-screen .srct-ps-score{font-size:60px;}

.srct-app-download{margin-top:60px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;border-top:1px solid var(--srct-rule);padding-top:32px;}
.srct-app-download-label{font-family:var(--srct-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--srct-muted);margin-right:auto;}
.srct-dl{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:12px;background:var(--srct-ink);color:var(--srct-paper);font-size:13px;font-weight:500;line-height:1.2;}
.srct-dl small{display:block;font-size:9px;letter-spacing:.18em;text-transform:uppercase;opacity:.6;}
.srct-dl b{font-weight:600;}
.srct-dl svg{width:22px;height:22px;flex-shrink:0;}
.srct-dl:hover{background:var(--srct-royal-900);}

@media (max-width:900px){
  .srct-app-grid{grid-template-columns:1fr;gap:40px;}
  .srct-app-stack{height:520px;}
}
@media (max-width:480px){
  .srct-phone{width:170px;}
  .srct-phone-1{transform:translate(-50px, -10px) rotate(-6deg);}
  .srct-phone-2{transform:translate(0, 12px) rotate(1deg);}
  .srct-phone-3{transform:translate(50px, -6px) rotate(7deg);}
}

/* ============================================================ */
/* Buy / Reserve                                                 */
.srct-buy{background:var(--srct-royal-900);color:var(--srct-paper);margin:0 -36px;padding:120px 36px;border-radius:24px;position:relative;overflow:hidden;}
.srct-buy::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 60% at 15% 20%, rgba(232,184,58,.18), transparent 70%),radial-gradient(50% 60% at 90% 80%, rgba(123,77,189,.35), transparent 70%);pointer-events:none;}
.srct-buy .srct-wrap{display:grid;grid-template-columns:1.05fr 0.95fr;gap:60px;align-items:start;}
.srct-buy .srct-section-label{color:var(--srct-honey-300);}
.srct-buy .srct-section-label::after{background:rgba(255,255,255,.18);}
.srct-buy .srct-section-title{color:var(--srct-paper);}
.srct-buy .srct-section-title em{color:var(--srct-honey-300);}
.srct-buy .srct-section-sub{color:#D5C9E5;margin-bottom:0;}

.srct-invoice{background:var(--srct-paper);color:var(--srct-ink);border-radius:18px;padding:36px;font-family:var(--srct-mono);font-size:13px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6);position:relative;border:1px solid #2a1b50;}
.srct-invoice::before,.srct-invoice::after{content:"";position:absolute;left:0;right:0;height:18px;background:radial-gradient(circle, var(--srct-royal-900) 6px, transparent 7px);background-size:24px 18px;background-repeat:repeat-x;}
.srct-invoice::before{top:-1px;}
.srct-invoice::after{bottom:-1px;transform:scaleY(-1);}
.srct-invoice h3{font-family:var(--srct-serif);font-style:italic;font-weight:400;font-size:28px;margin:0 0 6px;letter-spacing:-.005em;line-height:1.15;color:var(--srct-royal-900);}
.srct-invoice .srct-sku{font-family:var(--srct-mono);font-size:11px;letter-spacing:.18em;color:var(--srct-muted);margin-bottom:24px;text-transform:uppercase;}
.srct-invoice-row{display:flex;justify-content:space-between;padding:12px 0;border-top:1px dashed var(--srct-rule-strong);font-size:13px;}
.srct-invoice-row:first-of-type{border-top:none;}
.srct-invoice-row b{font-weight:600;color:var(--srct-ink);}
.srct-invoice-row .srct-v{color:var(--srct-royal-700);font-weight:600;}
.srct-invoice-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:18px;padding:18px 0 0;border-top:2px solid var(--srct-ink);}
.srct-invoice-total .srct-lbl{font-family:var(--srct-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--srct-muted);}
.srct-invoice-total .srct-val{font-family:var(--srct-serif);font-weight:400;font-size:46px;color:var(--srct-royal-900);letter-spacing:-.01em;line-height:1;}
.srct-invoice-total .srct-val small{font-size:14px;color:var(--srct-muted);font-weight:400;font-style:italic;margin-left:6px;font-family:var(--srct-serif);}
.srct-invoice-cta{margin-top:24px;display:flex;gap:10px;flex-wrap:wrap;}
.srct-invoice-trust{margin-top:24px;padding-top:18px;border-top:1px dashed var(--srct-rule-strong);font-family:var(--srct-mono);font-size:11px;letter-spacing:.06em;color:var(--srct-muted);display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.srct-invoice-trust b{color:var(--srct-ink);font-weight:600;}

.srct-buy-list{list-style:none;padding:0;margin:32px 0 0;display:flex;flex-direction:column;gap:14px;}
.srct-buy-list li{display:grid;grid-template-columns:24px 1fr;gap:14px;align-items:start;font-size:15px;color:#E1D5EF;line-height:1.55;}
.srct-buy-list .srct-check{width:24px;height:24px;border-radius:99px;background:var(--srct-honey-500);color:var(--srct-royal-900);display:grid;place-items:center;font-size:13px;font-weight:700;}

.srct-checkout-login{margin-top:32px;padding:24px;border:1px dashed rgba(255,255,255,.18);border-radius:14px;}
.srct-checkout-login h4{font-family:var(--srct-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#A89BBE;margin:0 0 14px;font-weight:500;}
.srct-checkout-login-row{display:flex;gap:10px;flex-wrap:wrap;}
.srct-cl{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:99px;background:rgba(255,255,255,.06);color:var(--srct-paper);border:1px solid rgba(255,255,255,.12);font-size:13px;}
.srct-cl:hover{background:rgba(255,255,255,.1);}
.srct-cl svg{width:14px;height:14px;}

@media (max-width:900px){
  .srct-buy{margin:0;}
  .srct-buy .srct-wrap{grid-template-columns:1fr;gap:36px;}
  .srct-invoice{padding:28px;}
  .srct-invoice-total .srct-val{font-size:34px;}
}

/* ============================================================ */
/* FAQ                                                           */
.srct-faq-list{display:flex;flex-direction:column;border-top:1px solid var(--srct-rule-strong);}
.srct-faq-item{border-bottom:1px solid var(--srct-rule);}
.srct-faq-q{display:grid;grid-template-columns:64px 1fr 32px;gap:16px;align-items:center;padding:28px 0;text-align:left;width:100%;background:none;border:none;font-family:var(--srct-serif);font-weight:400;font-size:clamp(22px,2.1vw,30px);color:var(--srct-ink);letter-spacing:-.005em;line-height:1.2;cursor:pointer;transition:color .2s ease;list-style:none;}
.srct-faq-q::-webkit-details-marker{display:none;}
.srct-faq-q:hover{color:var(--srct-royal-700);}
.srct-faq-q .srct-n{font-family:var(--srct-mono);font-style:normal;font-weight:500;font-size:11px;letter-spacing:.18em;color:var(--srct-muted);text-transform:uppercase;}
.srct-faq-q .srct-ico{width:32px;height:32px;border-radius:99px;border:1px solid var(--srct-rule-strong);display:grid;place-items:center;font-size:14px;color:var(--srct-ink);transition:transform .25s ease, background .2s ease, border-color .2s ease;}
.srct-faq-item.is-open .srct-faq-q .srct-ico{transform:rotate(45deg);background:var(--srct-royal-700);color:#fff;border-color:var(--srct-royal-700);}
.srct-faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease;}
.srct-faq-a > div{overflow:hidden;}
.srct-faq-item[open] .srct-faq-a,.srct-faq-item.is-open .srct-faq-a{grid-template-rows:1fr;}
.srct-faq-a-inner{display:grid;grid-template-columns:64px 1fr 32px;gap:16px;padding:0 0 28px;}
.srct-faq-a-text{grid-column:2;font-size:16px;color:var(--srct-muted);line-height:1.65;max-width:780px;}
@media (max-width:720px){
  .srct-faq-q{grid-template-columns:36px 1fr 28px;gap:10px;padding:22px 0;}
  .srct-faq-a-inner{grid-template-columns:36px 1fr 28px;gap:10px;}
}

/* ============================================================ */
/* Footer                                                        */
.srct-footer{background:var(--srct-ink);color:#D5C9E5;padding:80px 0 32px;margin-top:0;position:relative;}
.srct-foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.1);}
.srct-foot-brand{display:flex;flex-direction:column;gap:22px;}
.srct-foot-brand .srct-brand{color:var(--srct-paper);}
.srct-foot-brand p{font-family:var(--srct-serif);font-style:italic;font-weight:400;font-size:22px;line-height:1.4;color:var(--srct-paper);margin:0;max-width:380px;}
.srct-foot-col h5{font-family:var(--srct-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--srct-honey-300);margin:0 0 18px;font-weight:500;}
.srct-foot-col a{display:block;padding:8px 0;color:#D5C9E5;font-size:14px;}
.srct-foot-col a:hover{color:var(--srct-honey-300);}
.srct-foot-col a.is-active b{color:var(--srct-paper);}
.srct-foot-nav{list-style:none;margin:0;padding:0;}
.srct-foot-nav li{margin:0;padding:0;}
.srct-foot-nav a{display:block;padding:8px 0;color:#D5C9E5;font-size:14px;}
.srct-foot-nav a:hover{color:var(--srct-honey-300);}
.srct-foot-bottom{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-top:24px;font-family:var(--srct-mono);font-size:11px;letter-spacing:.06em;color:var(--srct-muted-2);}
.srct-foot-bottom a:hover{color:var(--srct-honey-300);}
@media (max-width:900px){
  .srct-foot-grid{grid-template-columns:1fr 1fr;gap:32px;}
}
@media (max-width:540px){
  .srct-foot-grid{grid-template-columns:1fr;}
}

/* ============================================================ */
/* Reveal animations                                             */
.srct-reveal{opacity:0;transform:translateY(30px);transition:opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1);}
.srct-reveal.is-in{opacity:1;transform:translateY(0);}
.srct-reveal-fade{opacity:0;transition:opacity 1s ease;transition-delay:var(--d,0s);}
.srct-reveal-fade.is-in{opacity:1;}
.srct-reveal-scale{opacity:0;transform:scale(.94) translateY(20px);transition:opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s);}
.srct-reveal-scale.is-in{opacity:1;transform:scale(1) translateY(0);}
.srct-stagger > *{transition-delay:calc(var(--i,0) * 90ms);}
@media (prefers-reduced-motion: reduce){
  .srct-reveal,.srct-reveal-fade,.srct-reveal-scale{opacity:1!important;transform:none!important;}
}

/* Hero load animation */
.srct-hero h1 .srct-line > span{transform:translateY(105%);transition:transform 1.1s cubic-bezier(.2,.7,.2,1);}
.srct-hero.is-loaded h1 .srct-line > span{transform:translateY(0);}
.srct-hero.is-loaded h1 .srct-line:nth-child(1) > span{transition-delay:.2s;}
.srct-hero-zh,.srct-hero-cta,.srct-hero-marquee{opacity:0;transform:translateY(12px);transition:opacity .9s ease, transform .9s ease;}
.srct-hero.is-loaded .srct-hero-zh{opacity:1;transform:none;transition-delay:.7s;}
.srct-hero.is-loaded .srct-hero-cta{opacity:1;transform:none;transition-delay:.9s;}
.srct-hero.is-loaded .srct-hero-marquee{opacity:1;transform:none;transition-delay:1.1s;}

/* ============================================================ */
/* Narrow wrap variant — used by Contact / legal pages           */
.srct-wrap-narrow{max-width:780px;margin:0 auto;padding:0 36px;position:relative;z-index:2;}
@media (max-width:720px){.srct-wrap-narrow{padding:0 20px;}}

/* ============================================================ */
/* CONTACT PAGE                                                  */
/* ============================================================ */
.srct-contact-hero{padding:80px 0 48px;text-align:center;position:relative;overflow:hidden;}
.srct-contact-hero h1{
  font-family:var(--srct-serif);font-weight:400;
  /* min lowered to 40px so French "Contactez-nous." still fits on narrow
     phones with nowrap; max stays at 96px for desktop punch. */
  font-size:clamp(40px,7vw,96px);
  line-height:1.04;letter-spacing:-.018em;
  margin:0 0 18px;color:var(--srct-ink);
  /* Keep the H1 on a single line — French uses a hyphen that browsers
     otherwise treat as a soft break opportunity. */
  white-space:nowrap;
}
.srct-contact-hero h1 em{font-style:italic;color:var(--srct-royal-700);font-weight:400;}
.srct-contact-tagline{font-family:var(--srct-zh);font-size:clamp(18px,2vw,22px);letter-spacing:.22em;color:var(--srct-ink-soft);margin:0 0 24px;}
.srct-contact-sub{font-size:clamp(16px,1.4vw,18px);color:var(--srct-muted);max-width:540px;margin:0 auto;line-height:1.6;}
.srct-contact-hero::before,.srct-contact-hero::after{content:"";position:absolute;width:1px;background:var(--srct-rule-strong);left:50%;transform:translateX(-50%);}
.srct-contact-hero::before{top:0;height:32px;}
.srct-contact-hero::after{bottom:0;height:32px;}

/* Hero entrance */
.srct-contact-hero h1,.srct-contact-tagline,.srct-contact-sub{opacity:0;transform:translateY(14px);transition:opacity .9s ease, transform .9s cubic-bezier(.2,.8,.2,1);}
.srct-contact-hero.is-loaded h1{opacity:1;transform:none;transition-delay:.1s;}
.srct-contact-hero.is-loaded .srct-contact-tagline{opacity:1;transform:none;transition-delay:.5s;}
.srct-contact-hero.is-loaded .srct-contact-sub{opacity:1;transform:none;transition-delay:.65s;}

/* Email card */
.srct-email-card{background:var(--srct-paper);border:1px solid var(--srct-honey-500);border-radius:18px;padding:40px 48px;text-align:center;position:relative;overflow:hidden;box-shadow:0 24px 60px -32px rgba(45,27,78,.25);margin:40px 0;}
@media (max-width:540px){.srct-email-card{padding:32px 22px;border-radius:14px;margin:24px 0;}}
.srct-email-card::before{content:"";position:absolute;top:-80px;left:-80px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle, var(--srct-honey-200), transparent 65%);opacity:.55;filter:blur(8px);}
.srct-email-card::after{content:"";position:absolute;bottom:-80px;right:-80px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle, var(--srct-royal-200), transparent 65%);opacity:.4;filter:blur(8px);}
.srct-email-card-label{font-family:var(--srct-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--srct-royal-700);font-weight:600;margin-bottom:14px;display:inline-flex;align-items:center;gap:10px;position:relative;z-index:1;}
.srct-email-card-label::before,.srct-email-card-label::after{content:"";width:24px;height:1px;background:var(--srct-rule-strong);}
.srct-email-link{
  display:inline-block;max-width:100%;
  font-family:var(--srct-serif);font-weight:400;
  /* min reduced for narrow phones (a long address like
     sigurd@sigurdfencing.com would otherwise overflow at 28px). */
  font-size:clamp(20px,3.6vw,42px);
  letter-spacing:-.005em;line-height:1.1;color:var(--srct-ink);
  position:relative;z-index:1;padding:2px 0;
  background-image:linear-gradient(95deg, var(--srct-honey-500), var(--srct-honey-700));
  background-size:100% 1.5px;background-position:0 100%;background-repeat:no-repeat;
  transition:color .25s ease, background-size .35s ease;
  /* Default: keep the email on a single line on desktop where it fits. */
  white-space:nowrap;
}
@media (max-width:540px){
  /* Phones only: allow the email to wrap (at the @, then anywhere) so it
     doesn't overflow the card. */
  .srct-email-link{
    white-space:normal;
    word-break:break-word;overflow-wrap:anywhere;
  }
}
.srct-email-link:hover{color:var(--srct-honey-700);background-size:0% 1.5px;}
.srct-email-link em{font-style:italic;color:var(--srct-royal-700);}
.srct-email-meta{margin-top:10px;font-family:var(--srct-mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--srct-muted);font-weight:600;position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;}
.srct-email-meta::before{content:"";width:7px;height:7px;border-radius:99px;background:var(--srct-honey-500);animation:srct-em-pulse 2.2s ease-in-out infinite;}
@keyframes srct-em-pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.4;transform:scale(.8);}}
.srct-email-actions{margin-top:24px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap;position:relative;z-index:1;}
.srct-email-copy{font-family:var(--srct-mono);font-size:12px;letter-spacing:.08em;color:var(--srct-royal-700);padding:9px 16px;border-radius:99px;border:1px solid var(--srct-rule-strong);background:rgba(255,252,246,.7);display:inline-flex;align-items:center;gap:8px;font-weight:600;transition:background .2s, color .2s, border-color .2s;cursor:pointer;}
.srct-email-copy:hover{background:var(--srct-royal-50);border-color:var(--srct-royal-200);}
.srct-email-copy.is-copied{background:var(--srct-honey-50);border-color:var(--srct-honey-500);color:var(--srct-honey-700);}
.srct-email-copy::before{content:"";width:12px;height:12px;border:1.5px solid currentColor;border-radius:2px;background:linear-gradient(to top right, currentColor 0 50%, transparent 50%);display:inline-block;}
.srct-email-copy.is-copied::before{width:14px;height:8px;border:none;background:transparent;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg) translate(1px,-1px);}
.srct-email-open{font-family:var(--srct-mono);font-size:12px;letter-spacing:.08em;padding:9px 16px;border-radius:99px;background:var(--srct-ink);color:var(--srct-paper);display:inline-flex;align-items:center;gap:8px;font-weight:600;transition:background .2s;}
.srct-email-open:hover{background:var(--srct-royal-900);}
.srct-email-open::after{content:"→";transition:transform .25s ease;}
.srct-email-open:hover::after{transform:translateX(3px);}

/* Form */
.srct-form-card{background:var(--srct-paper);border:1px solid var(--srct-rule);border-radius:18px;padding:40px 44px;position:relative;box-shadow:0 18px 40px -32px rgba(45,27,78,.2);margin-bottom:40px;}
.srct-form-head{text-align:center;margin-bottom:28px;}
.srct-form-head-label{font-family:var(--srct-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--srct-royal-700);font-weight:600;margin-bottom:10px;display:inline-flex;align-items:center;gap:10px;}
.srct-form-head-label::before,.srct-form-head-label::after{content:"";width:22px;height:1px;background:var(--srct-rule-strong);}
.srct-form-head h2{font-family:var(--srct-serif);font-weight:400;font-size:clamp(28px,3vw,38px);line-height:1.06;letter-spacing:-.005em;margin:0;color:var(--srct-ink);}
.srct-form-head h2 em{font-style:italic;color:var(--srct-royal-700);font-weight:400;}
.srct-form-head-sub{font-family:var(--srct-zh);font-size:13.5px;color:var(--srct-muted);margin-top:6px;letter-spacing:.06em;}

.srct-field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px;}
.srct-field label{font-family:var(--srct-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--srct-muted);font-weight:600;display:flex;align-items:center;gap:8px;}
.srct-req{color:var(--srct-honey-700);font-weight:700;}
.srct-field input,.srct-field select,.srct-field textarea{font:inherit;font-size:14.5px;line-height:1.4;color:var(--srct-ink);background:#fff;border:1px solid var(--srct-rule-strong);border-radius:8px;padding:12px 14px;transition:border-color .2s, box-shadow .2s, background .2s;width:100%;font-family:var(--srct-sans);}
.srct-field textarea{resize:vertical;min-height:140px;}
.srct-field input:focus,.srct-field select:focus,.srct-field textarea:focus{outline:none;border-color:var(--srct-royal-700);box-shadow:0 0 0 3px var(--srct-royal-50);}
.srct-field.is-error input,.srct-field.is-error select,.srct-field.is-error textarea{border-color:#B23A48;background:#FBEAEC;}
.srct-err{display:none;font-size:12px;color:#B23A48;font-family:var(--srct-mono);letter-spacing:.02em;margin-top:2px;}
.srct-field.is-error .srct-err{display:block;}
.srct-field select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1l5 5 5-5' stroke='%236F6483' stroke-width='1.5' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px;}

/* Custom <select> dropdown — once JS enhances a native select, the real
   element is hidden visually and our themed trigger + listbox shows. */
.srct-field select.srct-select-native{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;
}
.srct-select{position:relative;width:100%;}
.srct-select-trigger{
  font:inherit;font-size:14.5px;line-height:1.4;color:var(--srct-ink);
  background:#fff;border:1px solid var(--srct-rule-strong);border-radius:8px;
  padding:11px 38px 11px 14px;width:100%;text-align:left;cursor:pointer;
  display:flex;align-items:center;gap:10px;
  transition:border-color .2s, box-shadow .2s, background .2s;
  position:relative;font-family:var(--srct-sans);
}
.srct-select-trigger:hover{border-color:var(--srct-royal-200);}
.srct-select.is-open .srct-select-trigger,
.srct-select-trigger:focus-visible{
  outline:none;border-color:var(--srct-royal-700);box-shadow:0 0 0 3px var(--srct-royal-50);
}
.srct-field.is-error .srct-select-trigger{border-color:#B23A48;background:#FBEAEC;box-shadow:0 0 0 3px rgba(178,58,72,.06);}
.srct-select-label{flex:1;}
.srct-select-label.is-placeholder{color:var(--srct-muted-2);}
.srct-select-caret{
  position:absolute;right:14px;top:50%;width:10px;height:8px;pointer-events:none;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1l5 5 5-5' stroke='%236F6483' stroke-width='1.5' stroke-linecap='round'/></svg>") no-repeat center / 10px 8px;
  transform:translateY(-50%);transition:transform .25s ease;
}
.srct-select.is-open .srct-select-caret{transform:translateY(-50%) rotate(180deg);}

.srct-select-list{
  position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:10;
  list-style:none;margin:0;padding:6px;
  background:var(--srct-paper);
  border:1px solid var(--srct-rule-strong);border-radius:10px;
  box-shadow:0 18px 36px -16px rgba(31,21,56,.28);
  max-height:280px;overflow-y:auto;
}
.srct-select-option{
  padding:9px 12px;border-radius:7px;cursor:pointer;
  font-size:14px;color:var(--srct-ink);
  transition:background .15s ease, color .15s ease;
}
.srct-select-option:hover,
.srct-select-option.is-focus{background:var(--srct-royal-50);color:var(--srct-royal-700);}
.srct-select-option.is-selected{background:var(--srct-honey-50);color:var(--srct-honey-700);font-weight:600;}
.srct-select-option.is-selected:hover{background:#F8E7B5;}
.srct-select-option.is-disabled{color:var(--srct-muted-2);cursor:not-allowed;font-style:italic;}
.srct-select-option.is-disabled:hover{background:transparent;color:var(--srct-muted-2);}

/* Reset button inside the success state */
.srct-form-reset{margin-top:24px;font-size:13px;padding:10px 22px;}

.srct-form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media (max-width:560px){.srct-form-row-2{grid-template-columns:1fr;}}

.srct-form-submit{margin-top:8px;width:100%;justify-content:center;padding:17px 22px;font-family:var(--srct-serif);font-style:italic;font-weight:400;font-size:19px;letter-spacing:.005em;}
.srct-form-submit::after{content:"→";font-family:var(--srct-sans);font-style:normal;font-weight:700;transition:transform .25s ease;}
.srct-form-submit:hover::after{transform:translateX(4px);}
.srct-form-submit[disabled]{opacity:.55;pointer-events:none;}
.srct-form-foot{margin-top:14px;text-align:center;font-family:var(--srct-mono);font-size:11px;letter-spacing:.06em;color:var(--srct-muted);}

/* Success state */
.srct-form-card.is-sent .srct-form-fields,.srct-form-card.is-sent .srct-form-head{display:none;}
.srct-form-success{display:none;text-align:center;padding:32px 0 16px;}
.srct-form-card.is-sent .srct-form-success{display:block;}
.srct-success-ring{width:84px;height:84px;border-radius:50%;margin:0 auto 22px;background:linear-gradient(160deg, var(--srct-honey-200), var(--srct-honey-500));display:grid;place-items:center;box-shadow:0 14px 30px -10px rgba(232,184,58,.55), inset 0 -8px 14px rgba(184,134,31,.25);position:relative;}
.srct-success-ring svg{width:46px;height:46px;color:var(--srct-royal-900);}
.srct-success-ring::before{content:"";position:absolute;inset:-8px;border-radius:50%;border:1.5px solid var(--srct-honey-500);opacity:.5;animation:srct-s-pulse 2.2s ease-out infinite;}
@keyframes srct-s-pulse{0%{transform:scale(1);opacity:.55;}100%{transform:scale(1.25);opacity:0;}}
.srct-form-success h3{font-family:var(--srct-serif);font-weight:400;font-size:30px;line-height:1.1;letter-spacing:-.005em;margin:0 0 10px;color:var(--srct-ink);}
.srct-form-success h3 em{font-style:italic;color:var(--srct-royal-700);font-weight:400;}
.srct-form-success p{font-size:15px;color:var(--srct-muted);max-width:480px;margin:0 auto;line-height:1.55;}

@media (max-width:720px){.srct-form-card{padding:32px 24px;}}

/* FAQ strip */
.srct-faq-strip{padding:56px 0 88px;text-align:center;}
.srct-faq-strip-divider{display:block;width:1px;height:32px;background:var(--srct-rule-strong);margin:0 auto 28px;}
.srct-faq-strip p{font-family:var(--srct-serif);font-style:italic;font-weight:400;font-size:clamp(18px,2vw,24px);line-height:1.35;color:var(--srct-ink-soft);margin:0;letter-spacing:-.005em;}
.srct-faq-strip p a{color:var(--srct-royal-700);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1.5px;transition:color .2s;font-style:normal;font-weight:600;}
.srct-faq-strip p a:hover{color:var(--srct-honey-700);}

/* ============================================================ */
/* PARTNERS PAGE                                                 */
/* ============================================================ */

/* Hero */
.srct-partners-hero{position:relative;padding:72px 0 84px;overflow:hidden;isolation:isolate;}
.srct-partners-hero-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:60px;align-items:center;}
@media (max-width:960px){.srct-partners-hero-grid{grid-template-columns:1fr;gap:32px;}}

.srct-partners-hero-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--srct-paper);border:1px solid var(--srct-rule);
  padding:7px 14px 7px 7px;border-radius:99px;
  font-family:var(--srct-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--srct-royal-700);
  margin-bottom:24px;font-weight:600;
}
.srct-partners-hero-pill{
  background:var(--srct-royal-900);color:var(--srct-honey-300);
  font-size:10px;font-weight:700;letter-spacing:.14em;
  padding:4px 9px;border-radius:99px;
}
.srct-partners-hero h1{font-family:var(--srct-serif);font-weight:400;font-size:clamp(48px,7vw,96px);line-height:.98;letter-spacing:-.018em;margin:0 0 18px;color:var(--srct-ink);}
.srct-partners-hero h1 em{font-style:italic;color:var(--srct-royal-700);font-weight:400;}
.srct-partners-hero-tagline{font-family:var(--srct-zh);font-size:clamp(18px,2vw,22px);letter-spacing:.18em;color:var(--srct-ink-soft);margin:0 0 26px;}
.srct-partners-hero-sub{font-size:clamp(16px,1.4vw,19px);color:var(--srct-muted);max-width:540px;margin:0 0 32px;line-height:1.55;}
.srct-partners-hero-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.srct-partners-hero-meta{font-family:var(--srct-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--srct-muted);display:inline-flex;align-items:center;gap:8px;}
.srct-partners-hero-meta::before{content:"";width:6px;height:6px;border-radius:99px;background:var(--srct-honey-500);}

/* Hero entrance */
.srct-partners-hero-eyebrow,
.srct-partners-hero h1,
.srct-partners-hero-tagline,
.srct-partners-hero-sub,
.srct-partners-hero-cta{opacity:0;transform:translateY(14px);transition:opacity .9s ease, transform .9s cubic-bezier(.2,.8,.2,1);}
.srct-partners-hero.is-loaded .srct-partners-hero-eyebrow{opacity:1;transform:none;transition-delay:.1s;}
.srct-partners-hero.is-loaded h1{opacity:1;transform:none;transition-delay:.25s;}
.srct-partners-hero.is-loaded .srct-partners-hero-tagline{opacity:1;transform:none;transition-delay:.5s;}
.srct-partners-hero.is-loaded .srct-partners-hero-sub{opacity:1;transform:none;transition-delay:.65s;}
.srct-partners-hero.is-loaded .srct-partners-hero-cta{opacity:1;transform:none;transition-delay:.8s;}

/* Hero line art */
.srct-partners-hero-art{position:relative;aspect-ratio:1/1;max-width:520px;justify-self:end;width:100%;}
.srct-partners-hero-art-bg{
  position:absolute;inset:0;border-radius:24px;
  background:
    radial-gradient(60% 70% at 30% 30%, rgba(232,184,58,.18), transparent 70%),
    radial-gradient(60% 70% at 70% 70%, rgba(123,77,189,.18), transparent 70%),
    linear-gradient(160deg, var(--srct-paper), var(--srct-royal-50));
  border:1px solid var(--srct-rule);overflow:hidden;
}
.srct-partners-hero-art-bg::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(var(--srct-rule-strong) 1px, transparent 1px),
    linear-gradient(90deg, var(--srct-rule-strong) 1px, transparent 1px);
  background-size:48px 48px;opacity:.35;
  mask:radial-gradient(circle at center, #000 30%, transparent 75%);
  -webkit-mask:radial-gradient(circle at center, #000 30%, transparent 75%);
}
.srct-partners-hero-art-svg{position:absolute;inset:0;width:100%;height:100%;}
.srct-partners-hero-art-svg .srct-pa-draw{fill:none;stroke:var(--srct-royal-700);stroke-width:1.5;stroke-dasharray:1000;stroke-dashoffset:1000;animation:srct-pa-draw-in 2.4s cubic-bezier(.2,.7,.2,1) .3s forwards;}
.srct-partners-hero-art-svg .srct-pa-draw.srct-pa-honey{stroke:var(--srct-honey-500);animation-delay:.7s;}
.srct-partners-hero-art-svg .srct-pa-draw.srct-pa-thin{stroke:var(--srct-rule-strong);stroke-width:1;animation-delay:0s;animation-duration:3s;}
.srct-partners-hero-art-svg .srct-pa-fill-soft{fill:var(--srct-honey-200);opacity:0;animation:srct-pa-fade-in 1.2s ease 1.4s forwards;}
.srct-partners-hero-art-svg .srct-pa-fill-royal{fill:var(--srct-royal-50);opacity:0;animation:srct-pa-fade-in 1.2s ease 1.2s forwards;}
@keyframes srct-pa-draw-in{to{stroke-dashoffset:0;}}
@keyframes srct-pa-fade-in{to{opacity:1;}}

.srct-partners-art-tag{
  position:absolute;
  font-family:var(--srct-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--srct-muted);
  background:rgba(255,252,246,.85);padding:5px 10px;border-radius:99px;
  border:1px solid var(--srct-rule-strong);
  display:inline-flex;align-items:center;gap:6px;
}
.srct-partners-art-tag::before{content:"";width:5px;height:5px;border-radius:99px;background:var(--srct-royal-700);}
.srct-partners-art-tag.is-gold::before{background:var(--srct-honey-500);}
.srct-partners-art-tag b{color:var(--srct-royal-700);font-weight:700;letter-spacing:.1em;}
.srct-partners-art-tag.is-gold b{color:var(--srct-honey-700);}
.srct-partners-art-tag-tl{top:18px;left:18px;}
.srct-partners-art-tag-br{bottom:18px;right:18px;}
@media (max-width:960px){.srct-partners-hero-art{max-width:420px;justify-self:start;}}

/* Section shared (partners) */
.srct-partners-section{padding:96px 0;border-top:1px solid var(--srct-rule);position:relative;}
.srct-partners-label{display:flex;align-items:center;gap:14px;font-family:var(--srct-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--srct-royal-700);margin-bottom:20px;}
.srct-partners-label-num{font-family:var(--srct-serif);font-style:italic;font-size:22px;color:var(--srct-honey-700);font-weight:400;letter-spacing:-.02em;line-height:1;}
.srct-partners-label::after{content:"";flex:1;height:1px;background:var(--srct-rule-strong);}
.srct-partners-title{font-family:var(--srct-serif);font-weight:400;font-size:clamp(34px,4.4vw,60px);line-height:1.04;letter-spacing:-.012em;margin:0 0 14px;color:var(--srct-ink);max-width:980px;}
.srct-partners-title em{font-style:italic;color:var(--srct-royal-700);font-weight:400;}
.srct-partners-sub{font-size:17px;color:var(--srct-muted);max-width:680px;margin:0 0 48px;line-height:1.55;}
@media (max-width:720px){.srct-partners-section{padding:72px 0;}.srct-partners-sub{margin-bottom:32px;}}

/* Who it's for */
.srct-who-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
@media (max-width:780px){.srct-who-grid{grid-template-columns:1fr;}}
.srct-who-card{background:var(--srct-paper);border:1px solid var(--srct-rule);border-radius:14px;padding:32px 32px 28px;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s, border-color .25s;}
.srct-who-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -32px rgba(45,27,78,.28);border-color:var(--srct-royal-200);}
.srct-who-card::after{content:"";position:absolute;top:-50px;right:-50px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle, var(--srct-royal-50), transparent 65%);opacity:.7;transition:transform .5s ease;}
.srct-who-card.is-gold::after{background:radial-gradient(circle, var(--srct-honey-50), transparent 65%);}
.srct-who-card:hover::after{transform:scale(1.15);}
.srct-who-icon{width:64px;height:64px;border-radius:14px;background:var(--srct-royal-50);display:grid;place-items:center;color:var(--srct-royal-700);position:relative;z-index:1;}
.srct-who-card.is-gold .srct-who-icon{background:var(--srct-honey-50);color:var(--srct-honey-700);}
.srct-who-icon svg{width:36px;height:36px;}
.srct-who-meta{font-family:var(--srct-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--srct-muted);font-weight:600;position:relative;z-index:1;}
.srct-who-meta em{font-style:normal;color:var(--srct-royal-700);font-weight:700;}
.srct-who-card.is-gold .srct-who-meta em{color:var(--srct-honey-700);}
.srct-who-card h3{font-family:var(--srct-serif);font-weight:400;font-size:30px;line-height:1.1;letter-spacing:-.005em;margin:0;color:var(--srct-ink);position:relative;z-index:1;}
.srct-who-card h3 em{font-style:italic;color:var(--srct-royal-700);font-weight:400;}
.srct-who-card.is-gold h3 em{color:var(--srct-honey-700);}
.srct-who-role{font-family:var(--srct-mono);font-size:11.5px;letter-spacing:.1em;color:var(--srct-ink-soft);font-weight:500;position:relative;z-index:1;margin:0;}
.srct-who-desc{font-size:14.5px;color:var(--srct-muted);line-height:1.65;margin:0;position:relative;z-index:1;}

/* What you get */
.srct-benefits{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--srct-rule-strong);}
.srct-benefit{display:grid;grid-template-columns:64px 1fr 1fr;gap:32px;align-items:center;padding:28px 0;border-bottom:1px dashed var(--srct-rule-strong);transition:padding .25s ease;}
.srct-benefit:hover{padding-left:8px;}
.srct-benefit-icon{width:56px;height:56px;border-radius:14px;background:var(--srct-paper);border:1px solid var(--srct-rule);display:grid;place-items:center;color:var(--srct-royal-700);position:relative;}
.srct-benefit-icon svg{width:28px;height:28px;}
.srct-benefit-badge{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:var(--srct-honey-500);color:var(--srct-royal-900);display:grid;place-items:center;font-family:var(--srct-serif);font-style:italic;font-size:13px;font-weight:400;line-height:1;letter-spacing:-.02em;}
.srct-benefit-title{font-family:var(--srct-serif);font-weight:400;font-size:24px;line-height:1.18;letter-spacing:-.005em;margin:0;color:var(--srct-ink);}
.srct-benefit-title em{font-style:italic;color:var(--srct-royal-700);font-weight:400;}
.srct-benefit-desc{font-size:14.5px;color:var(--srct-muted);line-height:1.65;margin:0;}
@media (max-width:780px){
  .srct-benefit{grid-template-columns:56px 1fr;gap:16px;padding:24px 0;}
  .srct-benefit-desc{grid-column:1/-1;padding-left:0;margin-top:-8px;}
}

/* How it works */
.srct-howsteps{display:grid;grid-template-columns:repeat(3, 1fr);gap:0;position:relative;}
.srct-howsteps::before{content:"";position:absolute;top:48px;left:10%;right:10%;height:1.5px;background:repeating-linear-gradient(90deg, var(--srct-honey-500) 0 8px, transparent 8px 16px);opacity:.55;z-index:0;}
.srct-howstep{display:flex;flex-direction:column;gap:18px;padding:0 20px;position:relative;z-index:1;text-align:left;}
.srct-howstep-badge{width:92px;height:92px;border-radius:50%;background:var(--srct-paper);border:1px solid var(--srct-rule);display:grid;place-items:center;font-family:var(--srct-serif);font-style:italic;font-weight:400;font-size:40px;color:var(--srct-royal-700);letter-spacing:-.03em;line-height:1;box-shadow:0 10px 22px -10px rgba(45,27,78,.2);position:relative;}
.srct-howstep-badge.is-gold{background:linear-gradient(160deg, var(--srct-honey-200), var(--srct-honey-500));border-color:var(--srct-honey-500);color:var(--srct-royal-900);box-shadow:0 14px 28px -10px rgba(232,184,58,.45);}
.srct-howstep-badge::before{content:attr(data-num);position:absolute;bottom:-6px;right:-6px;width:28px;height:28px;border-radius:50%;background:var(--srct-royal-900);color:var(--srct-honey-300);font-family:var(--srct-mono);font-style:normal;font-size:10px;font-weight:700;letter-spacing:.06em;display:grid;place-items:center;}
.srct-howstep-time{font-family:var(--srct-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--srct-royal-700);font-weight:700;}
.srct-howstep:first-child .srct-howstep-time{color:var(--srct-honey-700);}
.srct-howstep-title{font-family:var(--srct-serif);font-weight:400;font-size:24px;line-height:1.12;letter-spacing:-.005em;margin:0 0 4px;color:var(--srct-ink);}
.srct-howstep-title em{font-style:italic;color:var(--srct-royal-700);font-weight:400;}
.srct-howstep-desc{font-size:14.5px;color:var(--srct-muted);line-height:1.65;margin:0;}
@media (max-width:780px){
  .srct-howsteps{grid-template-columns:1fr;gap:32px;}
  .srct-howsteps::before{display:none;}
  .srct-howstep{flex-direction:row;align-items:flex-start;gap:18px;padding:0;}
  .srct-howstep-badge{width:72px;height:72px;font-size:30px;flex-shrink:0;}
  .srct-howstep-body{flex:1;}
}

/* Form section (uses .srct-form-card from Contact) — wrap with paper bg */
.srct-partners-form-section{padding:96px 0;background:var(--srct-paper);border-top:1px solid var(--srct-rule);border-bottom:1px solid var(--srct-rule);}
.srct-partners-form-card{max-width:780px;margin:0 auto;border:1px solid var(--srct-honey-500);box-shadow:0 30px 60px -30px rgba(45,27,78,.3);}
.srct-partners-form-card::before{content:"";position:absolute;top:-100px;right:-100px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle, var(--srct-honey-200), transparent 65%);opacity:.55;filter:blur(8px);pointer-events:none;}
.srct-field-tag{font-family:var(--srct-sans);color:var(--srct-muted-2);text-transform:none;letter-spacing:.04em;font-size:11px;font-weight:500;}

/* Fallback strip */
/* "Prefer email" CTA pinned above the form fields. Visually a soft honey
   block so it competes with the Send button below as a peer primary CTA,
   without overpowering the structured form. Followed by a three-segment OR
   divider (line · badge · line) that visually says "pick one of two paths". */
.srct-partners-card-email{
  margin:6px 0 0;padding:18px 22px;
  background:var(--srct-honey-50);
  border:1px solid var(--srct-honey-200);
  border-radius:12px;
  text-align:center;
}
.srct-partners-card-email p{
  margin:0;
  font-family:var(--srct-serif);font-weight:400;font-style:italic;
  font-size:clamp(15px,1.4vw,17px);line-height:1.5;
  color:var(--srct-ink-soft);letter-spacing:-.005em;
}
.srct-partners-card-email-link{
  display:inline-block;margin:2px 0;
  font-style:normal;font-family:var(--srct-sans);font-weight:600;
  font-size:clamp(16px,1.55vw,18.5px);letter-spacing:-.005em;
  color:var(--srct-honey-700);
  text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1.5px;
  transition:color .2s,text-underline-offset .2s;
}
.srct-partners-card-email-link:hover{color:var(--srct-royal-700);text-underline-offset:6px;}

.srct-partners-card-or{
  display:flex;align-items:center;gap:14px;
  margin:20px 0 18px;
}
.srct-partners-card-or-line{
  flex:1;height:1px;
  background:linear-gradient(90deg, transparent, var(--srct-rule-strong) 50%, transparent);
}
.srct-partners-card-or-badge{
  flex:0 0 auto;
  font-family:var(--srct-mono);font-size:11px;font-weight:700;letter-spacing:.22em;
  text-transform:uppercase;color:var(--srct-muted);
  background:var(--srct-paper);border:1px solid var(--srct-rule);
  padding:5px 14px;border-radius:99px;line-height:1;
}

.srct-partners-fallback{padding:48px 0 80px;text-align:center;}
.srct-partners-fallback p{font-family:var(--srct-serif);font-style:italic;font-weight:400;font-size:clamp(20px,2.2vw,28px);line-height:1.45;color:var(--srct-ink);margin:0 auto;max-width:760px;letter-spacing:-.005em;}
.srct-partners-fallback-email{color:var(--srct-honey-700);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1.5px;transition:color .2s;}
.srct-partners-fallback-email:hover{color:var(--srct-royal-700);}
.srct-partners-fallback-meta{display:block;font-family:var(--srct-mono);font-style:normal;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--srct-muted);margin-top:14px;font-weight:600;}

/* ============================================================ */
/* LEGAL PAGES (Terms of Use, Privacy Policy)                    */
/* ============================================================ */
.srct-legal-page{display:block;}
.srct-legal-page html{scroll-behavior:smooth;}

/* Page head */
.srct-legal-head{padding:72px 0 32px;border-bottom:1px solid var(--srct-rule);scroll-margin-top:88px;}
.srct-legal-head-grid{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end;}
.srct-legal-h1{
  font-family:var(--srct-serif);font-weight:400;
  font-size:clamp(48px,6vw,84px);line-height:1.04;letter-spacing:-.018em;
  margin:0 0 14px;color:var(--srct-ink);
}
.srct-legal-h1 em{font-style:italic;color:var(--srct-royal-700);font-weight:400;}
.srct-legal-tagline{font-family:var(--srct-zh);font-size:clamp(16px,1.6vw,20px);letter-spacing:.18em;color:var(--srct-ink-soft);margin:0 0 18px;}
.srct-legal-meta{display:flex;gap:14px;flex-wrap:wrap;font-family:var(--srct-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--srct-muted);align-items:center;}
.srct-legal-meta b{color:var(--srct-ink);font-weight:600;}
.srct-legal-pill{background:var(--srct-honey-50);color:var(--srct-honey-700);border:1px solid var(--srct-honey-500);padding:4px 10px;border-radius:99px;font-weight:700;}
.srct-legal-note{
  font-family:var(--srct-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--srct-royal-700);
  display:inline-flex;align-items:center;gap:8px;
  background:var(--srct-royal-50);border:1px dashed var(--srct-royal-200);
  padding:7px 12px;border-radius:99px;font-weight:600;align-self:flex-end;
}
.srct-legal-lead{margin:36px 0 0;padding:24px 0 0;border-top:1px dashed var(--srct-rule-strong);max-width:880px;}
.srct-legal-lead p{margin:0 0 10px;font-size:16.5px;color:var(--srct-ink-soft);line-height:1.7;}
@media (max-width:720px){
  .srct-legal-head{padding:48px 0 24px;}
  .srct-legal-head-grid{grid-template-columns:1fr;}
  .srct-legal-note{align-self:flex-start;}
}

/* Layout: 280px sticky ToC + content column */
.srct-legal-layout{display:grid;grid-template-columns:280px 1fr;gap:64px;padding:48px 0 80px;align-items:start;}
@media (max-width:1023px){.srct-legal-layout{grid-template-columns:1fr;gap:36px;}}

.srct-legal-toc{
  position:sticky;top:88px;
  background:var(--srct-paper);border:1px solid var(--srct-rule);border-radius:14px;
  padding:24px 22px;
  box-shadow:0 18px 40px -32px rgba(45,27,78,.2);
}
.srct-legal-toc-heading{font-family:var(--srct-serif);font-weight:400;font-size:22px;line-height:1.1;letter-spacing:-.005em;margin:0 0 6px;color:var(--srct-ink);}
.srct-legal-toc-subtitle{font-family:var(--srct-zh);font-size:12.5px;color:var(--srct-muted);letter-spacing:.06em;margin:0 0 16px;padding-bottom:14px;border-bottom:1px dashed var(--srct-rule-strong);}
.srct-legal-toc-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px;font-family:var(--srct-mono);font-size:12px;}
.srct-legal-toc-list li{margin:0;}
.srct-legal-toc-list a{display:flex;align-items:baseline;gap:10px;padding:8px 10px;border-radius:7px;color:var(--srct-ink-soft);font-weight:500;letter-spacing:.02em;transition:background .2s, color .2s;}
.srct-legal-toc-list .n{color:var(--srct-royal-700);font-weight:700;font-size:11px;flex-shrink:0;width:22px;}
.srct-legal-toc-list .label{flex:1;}
.srct-legal-toc-list a:hover{background:var(--srct-royal-50);color:var(--srct-royal-700);}
.srct-legal-toc-list a.is-current{background:var(--srct-royal-50);color:var(--srct-royal-700);}
.srct-legal-toc-list a.is-current .n{color:var(--srct-honey-700);}
.srct-legal-toc-list .is-key a{background:var(--srct-honey-50);color:var(--srct-honey-700);}
.srct-legal-toc-list .is-key a .n{color:var(--srct-honey-700);}
.srct-legal-toc-list .is-key a:hover,
.srct-legal-toc-list .is-key a.is-current{background:#F8DE93;}
@media (max-width:1023px){
  .srct-legal-toc{position:static;top:auto;}
  .srct-legal-toc-list{display:grid;grid-template-columns:1fr 1fr;gap:0;}
}
@media (max-width:540px){.srct-legal-toc-list{grid-template-columns:1fr;}}

/* Content (prose) — scopes ALL of .srct-legal-content children so editors
   only need to write semantic HTML / Gutenberg blocks. */
.srct-legal-content{max-width:780px;font-size:16.5px;line-height:1.75;color:var(--srct-ink-soft);}
.srct-legal-content > section{padding:32px 0 36px;border-bottom:1px solid var(--srct-rule);scroll-margin-top:88px;}
.srct-legal-content > section:first-child{padding-top:0;}
.srct-legal-content > section:last-of-type{border-bottom:none;}
.srct-legal-content h2{
  font-family:var(--srct-serif);font-weight:400;
  font-size:clamp(28px,3.2vw,36px);line-height:1.12;letter-spacing:-.005em;
  margin:0 0 6px;color:var(--srct-ink);
  display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;
}
.srct-legal-content h2 em{font-style:italic;color:var(--srct-royal-700);font-weight:400;}
.srct-legal-content h2 .n{font-family:var(--srct-serif);font-style:italic;font-size:.72em;color:var(--srct-honey-700);letter-spacing:-.01em;font-weight:400;}
.srct-legal-content h2 .zh{font-family:var(--srct-zh);font-style:normal;font-size:14px;color:var(--srct-muted);letter-spacing:.06em;font-weight:400;align-self:center;}
.srct-legal-content p{margin:0 0 14px;}
.srct-legal-content p.en{color:var(--srct-ink);}
.srct-legal-content p.zh,.srct-legal-content .zh-block{font-family:var(--srct-zh);font-size:15px;color:var(--srct-muted);letter-spacing:.04em;line-height:1.8;}
.srct-legal-content ul,.srct-legal-content ol{margin:8px 0 18px;padding-left:20px;}
.srct-legal-content ul li,.srct-legal-content ol li{margin-bottom:8px;}
.srct-legal-content ul.zh,.srct-legal-content ol.zh{font-family:var(--srct-zh);font-size:14.5px;color:var(--srct-muted);letter-spacing:.04em;line-height:1.8;}
.srct-legal-content b,.srct-legal-content strong{color:var(--srct-ink);font-weight:600;}
.srct-legal-content code,.srct-legal-content kbd{font-family:var(--srct-mono);font-size:.92em;background:var(--srct-bg);border:1px solid var(--srct-rule);border-radius:5px;padding:1px 7px;color:var(--srct-royal-700);font-weight:500;}
.srct-legal-content a{color:var(--srct-royal-700);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--srct-royal-200);transition:color .2s, text-decoration-color .2s;}
.srct-legal-content a:hover{color:var(--srct-royal-900);text-decoration-color:var(--srct-honey-500);}

/* Section foot — "↑ Back to top" link rendered by JS */
.srct-legal-content .srct-section-foot{margin-top:18px;padding-top:14px;border-top:1px dashed var(--srct-rule-strong);font-family:var(--srct-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--srct-muted);display:flex;justify-content:flex-end;}
.srct-legal-content .srct-section-foot a{color:var(--srct-royal-700);font-weight:600;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:99px;text-decoration:none;transition:background .2s;}
.srct-legal-content .srct-section-foot a:hover{background:var(--srct-royal-50);}
.srct-legal-content .srct-section-foot a::before{content:"↑";transition:transform .25s ease;}
.srct-legal-content .srct-section-foot a:hover::before{transform:translateY(-2px);}

/* Highlighted sections (Refund, Shipping etc) */
.srct-legal-content > section.is-key{background:linear-gradient(95deg, var(--srct-honey-50) 0%, transparent 100%);border-left:4px solid var(--srct-honey-500);margin-left:-22px;padding-left:18px;border-radius:0 8px 8px 0;}
.srct-legal-content > section.is-key h2,
.srct-legal-content > section.is-key h2 em{color:var(--srct-honey-700);}
.srct-legal-content > section.is-key h2 .n{color:var(--srct-royal-700);}

/* Key-value tables (used inside Refund / Shipping sections) */
.srct-legal-content .srct-kv{display:grid;grid-template-columns:160px 1fr;gap:12px 20px;background:var(--srct-paper);border:1px solid var(--srct-rule);border-radius:10px;padding:18px 22px;margin:16px 0 20px;}
.srct-legal-content .srct-kv .k{font-family:var(--srct-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--srct-royal-700);font-weight:600;padding-top:3px;}
.srct-legal-content .srct-kv .v{font-size:15px;color:var(--srct-ink);line-height:1.55;}
.srct-legal-content .srct-kv .v b{color:var(--srct-ink);font-weight:600;}
.srct-legal-content .srct-kv .v small{display:block;font-family:var(--srct-zh);font-size:13px;color:var(--srct-muted);margin-top:3px;letter-spacing:.04em;}
@media (max-width:560px){.srct-legal-content .srct-kv{grid-template-columns:1fr;gap:6px 0;}.srct-legal-content .srct-kv .k{padding-top:0;}}

/* Floating Back-to-Top button */
.srct-legal-totop{
  position:fixed;right:24px;bottom:24px;z-index:35;
  width:48px;height:48px;border-radius:50%;
  background:var(--srct-ink);color:var(--srct-honey-300);
  display:grid;place-items:center;cursor:pointer;
  border:1px solid var(--srct-honey-500);
  box-shadow:0 14px 30px -10px rgba(45,27,78,.5);
  opacity:0;transform:translateY(20px);pointer-events:none;
  transition:opacity .3s ease, transform .3s ease, background .2s;
  font-size:18px;
}
.srct-legal-totop.is-on{opacity:1;transform:translateY(0);pointer-events:auto;}
.srct-legal-totop:hover{background:var(--srct-royal-900);}

/* ============================================================ */
/* PRIVACY PAGE (extra blocks beyond shared legal styles)         */
/* ============================================================ */

/* Override pill color for privacy (royal instead of honey) */
.srct-page-privacy .srct-legal-pill{background:var(--srct-royal-50);color:var(--srct-royal-700);border:1px solid var(--srct-royal-200);}

/* Data category cards inside §2 */
.srct-legal-content .srct-data-cat{
  background:var(--srct-paper);border:1px solid var(--srct-rule);border-radius:10px;
  padding:18px 20px;margin:14px 0;
  display:grid;grid-template-columns:160px 1fr;gap:14px 22px;align-items:start;
}
.srct-legal-content .srct-data-cat .t{
  font-family:var(--srct-mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--srct-royal-700);
  font-weight:700;padding-top:3px;
}
.srct-legal-content .srct-data-cat .t b{
  display:block;color:var(--srct-ink);font-family:var(--srct-sans);font-style:normal;font-size:14px;font-weight:600;
  letter-spacing:0;text-transform:none;margin-bottom:3px;
}
.srct-legal-content .srct-data-cat .d{font-size:14.5px;color:var(--srct-ink-soft);line-height:1.6;}
.srct-legal-content .srct-data-cat .d.no-store{color:var(--srct-honey-700);font-weight:600;}
@media (max-width:560px){
  .srct-legal-content .srct-data-cat{grid-template-columns:1fr;gap:6px 0;}
  .srct-legal-content .srct-data-cat .t{padding-top:0;}
}

/* "Who / why" share table inside §4 */
.srct-legal-content .srct-share-list{margin:14px 0 16px;display:flex;flex-direction:column;gap:0;border-top:1px dashed var(--srct-rule-strong);}
.srct-legal-content .srct-share-row{
  display:grid;grid-template-columns:160px 1fr;gap:18px;align-items:start;
  padding:14px 0;border-bottom:1px dashed var(--srct-rule-strong);
}
.srct-legal-content .srct-share-row .who{
  font-family:var(--srct-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--srct-royal-700);
  font-weight:700;padding-top:2px;
}
.srct-legal-content .srct-share-row .why{font-size:14.5px;color:var(--srct-ink-soft);line-height:1.6;}

/* When the cookie banner is up, lift the floating to-top button so it
   doesn't collide. */
.srct-legal-totop.is-banner-up{bottom:200px;}
@media (max-width:720px){.srct-legal-totop.is-banner-up{bottom:320px;}}

/* ============================================================ */
/* GLOBAL COOKIE BANNER                                          */
/* ============================================================ */
.srct-cookie-banner{
  position:fixed;left:24px;right:24px;bottom:24px;z-index:50;
  background:var(--srct-royal-900);color:var(--srct-paper);
  border:1px solid var(--srct-honey-500);border-radius:14px;
  box-shadow:0 30px 60px -20px rgba(0,0,0,.5);
  padding:18px 22px;
  display:none;
  transform:translateY(140%);
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
  max-width:1192px;margin:0 auto;
  overflow:hidden;
}
.srct-cookie-banner.is-shown{display:block;}
.srct-cookie-banner.is-in{transform:translateY(0);}
.srct-cookie-banner::before{
  content:"";position:absolute;top:-100px;right:-80px;
  width:240px;height:240px;border-radius:50%;
  background:radial-gradient(circle, rgba(232,184,58,.18), transparent 65%);
  opacity:.8;filter:blur(8px);pointer-events:none;
}
.srct-cookie-top{display:flex;align-items:center;gap:18px;flex-wrap:wrap;position:relative;z-index:1;}
.srct-cookie-ic{
  width:44px;height:44px;border-radius:50%;
  background:var(--srct-paper);
  display:grid;place-items:center;flex-shrink:0;
  padding:6px;box-sizing:border-box;
}
.srct-cookie-ic img{width:100%;height:100%;object-fit:contain;display:block;}
.srct-cookie-copy{flex:1;min-width:260px;}
.srct-cookie-copy p{margin:0;font-size:14px;line-height:1.55;color:#E6D9EC;}
.srct-cookie-copy p em{font-style:normal;color:var(--srct-paper);font-weight:600;}

.srct-cookie-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.srct-cookie-btn{
  display:inline-flex;align-items:center;gap:8px;
  font:inherit;font-family:var(--srct-mono);font-size:12px;font-weight:600;letter-spacing:.06em;
  padding:11px 16px;border-radius:99px;cursor:pointer;line-height:1;
  border:1px solid transparent;
  transition:background .2s, color .2s, border-color .2s, transform .18s ease;
}
.srct-cookie-btn:hover{transform:translateY(-1px);}
.srct-cookie-btn-accept{background:var(--srct-honey-500);color:var(--srct-royal-900);}
.srct-cookie-btn-accept:hover{background:var(--srct-honey-300);}
.srct-cookie-btn-reject{background:rgba(255,255,255,.06);color:var(--srct-paper);border-color:rgba(255,255,255,.18);}
.srct-cookie-btn-reject:hover{background:rgba(255,255,255,.12);}
.srct-cookie-btn-customize{background:transparent;color:var(--srct-honey-300);border-color:rgba(232,184,58,.4);}
.srct-cookie-btn-customize:hover{background:rgba(232,184,58,.1);}
.srct-cookie-ar{display:inline-block;transition:transform .25s ease;}
.srct-cookie-banner.is-expanded .srct-cookie-ar{transform:rotate(180deg);}

.srct-cookie-custom{
  display:none;margin-top:18px;padding-top:18px;
  border-top:1px dashed rgba(255,255,255,.18);
  position:relative;z-index:1;
}
.srct-cookie-banner.is-expanded .srct-cookie-custom{display:block;}
.srct-cookie-rows{display:flex;flex-direction:column;gap:0;}
.srct-cookie-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px dashed rgba(255,255,255,.1);}
.srct-cookie-row:last-of-type{border-bottom:none;}
.srct-cookie-row h4{font-family:var(--srct-mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--srct-honey-300);margin:0 0 4px;font-weight:700;}
.srct-cookie-row p{margin:0;font-size:13px;color:#D5C9E5;line-height:1.55;}

/* Toggles */
.srct-toggle{
  position:relative;display:inline-block;width:44px;height:24px;
  background:rgba(255,255,255,.14);border-radius:99px;cursor:pointer;
  transition:background .25s ease;flex-shrink:0;
}
.srct-toggle input{position:absolute;opacity:0;width:0;height:0;}
.srct-toggle::after{
  content:"";position:absolute;top:3px;left:3px;
  width:18px;height:18px;border-radius:50%;background:var(--srct-paper);
  transition:transform .25s cubic-bezier(.34,1.4,.5,1), background .25s;
}
.srct-toggle.is-on{background:var(--srct-honey-500);}
.srct-toggle.is-on::after{transform:translateX(20px);background:var(--srct-royal-900);}
.srct-toggle.is-locked{background:rgba(232,184,58,.22);cursor:not-allowed;opacity:.85;}
.srct-toggle.is-locked::after{transform:translateX(20px);background:var(--srct-honey-500);}

.srct-cookie-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:18px;padding-top:14px;border-top:1px dashed rgba(255,255,255,.18);}
.srct-cookie-learn{font-family:var(--srct-mono);font-size:11px;letter-spacing:.06em;color:var(--srct-honey-300);display:inline-flex;align-items:center;gap:6px;font-weight:600;}
.srct-cookie-learn:hover{color:var(--srct-honey-200);text-decoration:underline;text-underline-offset:3px;}
.srct-cookie-learn::after{content:"→";transition:transform .25s ease;}
.srct-cookie-learn:hover::after{transform:translateX(3px);}

@media (max-width:720px){
  .srct-cookie-banner{left:12px;right:12px;bottom:12px;padding:16px;}
  .srct-cookie-top{flex-direction:column;align-items:flex-start;}
  .srct-cookie-actions{width:100%;}
  .srct-cookie-btn{flex:1;justify-content:center;}
}

/* Footer "Cookie preferences" trigger */
.srct-foot-cookie-btn{
  font-family:var(--srct-mono);font-size:11px;color:var(--srct-honey-300);
  background:transparent;border:1px solid rgba(232,184,58,.4);
  padding:5px 10px;border-radius:99px;cursor:pointer;letter-spacing:.06em;
  transition:background .2s;
}
.srct-foot-cookie-btn:hover{background:rgba(232,184,58,.12);}
.srct-foot-bottom-links{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;}
.srct-foot-bottom-links a.is-current,
.srct-foot-bottom-links a[aria-current="page"]{color:var(--srct-honey-300);}

/* ============================================================ */
/* PRODUCT DETAIL PAGE                                           */
/* ============================================================ */

.srct-page-product{display:block;}

/* Intro / breadcrumb */
.srct-pp-intro{padding:48px 0 24px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-family:var(--srct-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--srct-muted);}
.srct-pp-intro-rule{flex:1;min-width:60px;height:1px;background:var(--srct-rule-strong);}
.srct-pp-intro a{color:var(--srct-muted);transition:color .2s;}
.srct-pp-intro a:hover{color:var(--srct-royal-700);}
.srct-pp-intro-here{color:var(--srct-royal-700);}
.srct-pp-intro-issue{background:var(--srct-royal-900);color:var(--srct-honey-300);padding:6px 11px;border-radius:99px;font-weight:600;}

/* Hero */
.srct-pp-hero{padding:24px 0 100px;}
.srct-pp-hero-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:60px;align-items:start;}
@media (max-width:960px){.srct-pp-hero-grid{grid-template-columns:1fr;gap:40px;}}

/* Gallery */
.srct-pp-gallery{display:flex;flex-direction:column;gap:14px;position:sticky;top:88px;}
@media (max-width:960px){.srct-pp-gallery{position:relative;top:0;}}
.srct-pp-gallery-main{
  position:relative;aspect-ratio:1/1;border-radius:12px;overflow:hidden;
  background:linear-gradient(160deg, #F3ECFB 0%, #F8E7B5 100%);
  border:1px solid var(--srct-rule);
  box-shadow:0 24px 60px -28px rgba(45,27,78,.25);
  cursor:pointer;
}
.srct-pp-slide{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transform:scale(1.02);transition:opacity .55s cubic-bezier(.2,.7,.2,1), transform .55s cubic-bezier(.2,.7,.2,1);}
.srct-pp-slide.is-active{opacity:1;transform:scale(1);}
.srct-pp-slide svg{width:62%;height:auto;filter:drop-shadow(0 24px 30px rgba(45,27,78,.25));}
/* Slides driven by real product photos — clean paper background so the
   per-slide gradient (used for the SVG fallbacks) doesn't bleed in. */
.srct-pp-slide-img{background:var(--srct-paper);padding:0;}
.srct-pp-slide-img img{
  width:100%;height:100%;max-width:none;
  /* The gallery container's aspect-ratio is JS-synced to match each image,
     so contain fills it edge-to-edge without crop or letterbox. If JS is
     somehow disabled, contain falls back to letterboxing — never crops. */
  object-fit:contain;display:block;
  cursor:zoom-in;
}
/* Video slide — fills the same fixed gallery frame as image slides. */
.srct-pp-slide-video{background:var(--srct-ink);padding:0;}
.srct-pp-slide-video .srct-pp-slide-vid{
  width:100%;height:100%;object-fit:contain;display:block;
  cursor:zoom-in;
}
/* Tag the thumbnail of the video slide with a small play glyph so editors
   and shoppers can see at a glance which thumb is the video. */
.srct-pp-thumb.is-video{position:relative;}
.srct-pp-thumb.is-video::after{
  content:"▶";
  position:absolute;inset:0;
  display:grid;place-items:center;
  color:#fff;font-size:14px;text-shadow:0 1px 4px rgba(0,0,0,.6);
  background:rgba(0,0,0,.25);
  border-radius:inherit;
}

/* Fullscreen lightbox */
.srct-pp-lightbox{
  position:fixed;inset:0;z-index:1000;
  background:rgba(15,8,36,.92);backdrop-filter:blur(6px);
  display:none;align-items:center;justify-content:center;
  padding:40px;
  opacity:0;transition:opacity .25s ease;
}
.srct-pp-lightbox.is-open{display:flex;opacity:1;}
.srct-pp-lb-stage{
  max-width:90vw;max-height:90vh;
  display:grid;place-items:center;
}
.srct-pp-lb-stage img,
.srct-pp-lb-stage video{
  max-width:90vw;max-height:90vh;
  width:auto;height:auto;display:block;
  object-fit:contain;
  border-radius:6px;
  box-shadow:0 30px 60px -20px rgba(0,0,0,.6);
  background:#000;
}
.srct-pp-lb-close,.srct-pp-lb-arrow{
  position:absolute;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  color:var(--srct-paper);
  font-family:var(--srct-serif);font-size:28px;line-height:1;
  cursor:pointer;transition:background .2s,border-color .2s,transform .18s;
  display:grid;place-items:center;
  z-index:2;
}
.srct-pp-lb-close{
  top:24px;right:24px;width:48px;height:48px;border-radius:50%;font-size:32px;
}
.srct-pp-lb-arrow{
  top:50%;transform:translateY(-50%);width:60px;height:60px;border-radius:50%;font-size:36px;
}
.srct-pp-lb-arrow.left{left:24px;}
.srct-pp-lb-arrow.right{right:24px;}
.srct-pp-lb-close:hover,.srct-pp-lb-arrow:hover{
  background:var(--srct-honey-500);border-color:var(--srct-honey-500);color:var(--srct-royal-900);
}
.srct-pp-lb-arrow:hover{transform:translateY(-50%) scale(1.05);}
.srct-pp-lb-count{
  position:absolute;bottom:24px;left:50%;transform:translateX(-50%);
  font-family:var(--srct-mono);font-size:13px;letter-spacing:.16em;
  color:rgba(255,255,255,.6);
}
.srct-pp-lb-count b{color:var(--srct-honey-300);font-weight:700;}
@media (max-width:720px){
  .srct-pp-lightbox{padding:20px;}
  .srct-pp-lb-close{top:14px;right:14px;width:40px;height:40px;font-size:26px;}
  .srct-pp-lb-arrow{width:44px;height:44px;font-size:28px;}
  .srct-pp-lb-arrow.left{left:10px;}
  .srct-pp-lb-arrow.right{right:10px;}
}
.srct-pp-slide-1{background:radial-gradient(120% 90% at 35% 25%, #F8E7B5 0%, #E5D2EE 60%, #C9A6E6 100%);}
.srct-pp-slide-2{background:radial-gradient(120% 90% at 70% 30%, #F3ECFB 0%, #F4D67A 100%);}
.srct-pp-slide-3{background:radial-gradient(120% 90% at 30% 70%, #FAF6F0 0%, #D9C7F2 100%);}
.srct-pp-slide-4{background:linear-gradient(160deg, #2D1B4E 0%, #5B2E92 100%);}
.srct-pp-slide-4 svg{filter:drop-shadow(0 24px 30px rgba(0,0,0,.4));}
.srct-pp-slide-5{background:radial-gradient(120% 90% at 50% 50%, #FBF3DA 0%, #E8B83A 100%);}
.srct-pp-gallery-meta{position:absolute;top:18px;left:18px;background:rgba(255,252,246,.88);font-family:var(--srct-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--srct-ink);padding:6px 12px;border-radius:99px;border:1px solid var(--srct-rule);z-index:2;}
.srct-pp-gallery-meta b{color:var(--srct-royal-700);font-weight:600;}
.srct-pp-gallery-count{position:absolute;top:18px;right:18px;z-index:2;background:rgba(31,21,56,.78);color:var(--srct-paper);font-family:var(--srct-mono);font-size:11px;letter-spacing:.14em;padding:6px 12px;border-radius:99px;}
.srct-pp-gallery-count b{color:var(--srct-honey-300);font-weight:600;}
.srct-pp-gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border-radius:50%;background:rgba(255,252,246,.78);border:1px solid var(--srct-rule-strong);display:grid;place-items:center;cursor:pointer;font-family:var(--srct-mono);font-size:14px;color:var(--srct-ink);font-weight:600;opacity:0;transition:opacity .25s, background .2s;}
.srct-pp-gallery-arrow.left{left:14px;}
.srct-pp-gallery-arrow.right{right:14px;}
.srct-pp-gallery-main:hover .srct-pp-gallery-arrow{opacity:1;}
.srct-pp-gallery-arrow:hover{background:var(--srct-paper);}

.srct-pp-gallery-caption{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:6px 4px 0;font-family:var(--srct-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--srct-muted);}
.srct-pp-gallery-caption em{font-family:var(--srct-serif);font-style:italic;color:var(--srct-ink);letter-spacing:0;text-transform:none;font-size:14px;}

.srct-pp-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;}
.srct-pp-thumb{aspect-ratio:1/1;border-radius:8px;overflow:hidden;border:1.5px solid var(--srct-rule);background:var(--srct-royal-50);cursor:pointer;transition:border-color .2s, transform .25s;padding:0;}
.srct-pp-thumb-img{background-size:cover;background-position:center;background-repeat:no-repeat;}
.srct-pp-thumb.is-active{border-color:var(--srct-royal-700);transform:translateY(-2px);box-shadow:inset 0 0 0 1.5px var(--srct-honey-500);}
.srct-pp-thumb-t1{background:radial-gradient(circle at 35% 30%,#F4D67A,#E5D2EE 70%);}
.srct-pp-thumb-t2{background:radial-gradient(circle at 70% 35%,#F3ECFB,#F4D67A);}
.srct-pp-thumb-t3{background:radial-gradient(circle at 30% 70%,#FAF6F0,#D9C7F2);}
.srct-pp-thumb-t4{background:linear-gradient(160deg,#2D1B4E,#5B2E92);}
.srct-pp-thumb-t5{background:radial-gradient(circle,#FBF3DA,#E8B83A);}

/* Buy panel */
.srct-pp-buy{background:var(--srct-paper);border:1px solid var(--srct-rule);border-radius:18px;padding:36px;position:relative;box-shadow:0 28px 60px -28px rgba(45,27,78,.22);}
.srct-pp-buy-badges{display:flex;gap:8px;margin-bottom:18px;}
.srct-pp-badge{font-family:var(--srct-mono);font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--srct-honey-700);padding:5px 11px;border-radius:99px;border:1px solid var(--srct-honey-500);background:var(--srct-honey-50);}
.srct-pp-h1{font-family:var(--srct-serif);font-weight:400;font-size:clamp(34px,3.6vw,46px);line-height:1.06;letter-spacing:-.005em;margin:0 0 6px;color:var(--srct-ink);}
.srct-pp-h1 em{font-style:italic;color:var(--srct-royal-700);font-weight:400;}
.srct-pp-cats{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px;}
.srct-pp-cat{
  display:inline-flex;align-items:center;min-height:28px;
  border:1px solid var(--srct-rule);border-radius:8px;
  padding:5px 10px;background:var(--srct-royal-50);
  font-family:var(--srct-mono);font-size:11px;line-height:1.2;
  letter-spacing:.08em;text-transform:uppercase;font-weight:600;
  color:var(--srct-royal-700);
  transition:border-color .2s ease,background .2s ease,color .2s ease;
}
.srct-pp-cat:hover{border-color:var(--srct-honey-400);background:var(--srct-honey-50);color:var(--srct-royal-900);}
.srct-pp-h1-zh{font-family:var(--srct-zh);font-size:15px;color:var(--srct-royal-700);margin:0 0 22px;letter-spacing:.06em;}

.srct-pp-price-row{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;padding:18px 0 20px;border-top:1px dashed var(--srct-rule-strong);border-bottom:1px dashed var(--srct-rule-strong);margin-bottom:18px;}
/* When there's no sale (no strikethrough partner), push the main price
   to the right edge so it visually anchors there instead of dangling at
   the left. */
.srct-pp-price-row.is-solo{justify-content:flex-end;}
.srct-pp-price-row.is-display-only{justify-content:flex-start;}
.srct-pp-price-early-label{font-family:var(--srct-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--srct-honey-700);margin-bottom:4px;font-weight:600;display:block;}
.srct-pp-price-main{font-family:var(--srct-serif);font-weight:400;font-size:54px;line-height:1;color:var(--srct-royal-900);letter-spacing:-.01em;display:flex;align-items:baseline;gap:8px;}
.srct-pp-price-display{letter-spacing:.02em;}
.srct-pp-price-cur{font-family:var(--srct-mono);font-size:14px;color:var(--srct-muted);font-weight:500;letter-spacing:.06em;}
.srct-pp-price-cny{font-family:var(--srct-mono);font-size:12.5px;color:var(--srct-muted);letter-spacing:.04em;margin-top:6px;}
.srct-pp-price-strike{margin-left:auto;text-align:right;padding-bottom:6px;}
.srct-pp-price-strike-lbl{font-family:var(--srct-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--srct-muted);display:block;margin-bottom:4px;}
.srct-pp-price-strike-v{font-family:var(--srct-serif);font-style:italic;font-size:24px;color:var(--srct-muted);position:relative;display:inline-block;}
.srct-pp-price-strike-v::after{content:"";position:absolute;left:-4%;right:-4%;top:52%;height:1.5px;background:var(--srct-honey-500);transform:rotate(-6deg);}

/* Stock bar */
.srct-pp-stock{background:linear-gradient(95deg, var(--srct-royal-50), var(--srct-honey-50));border:1px solid var(--srct-rule);border-radius:10px;padding:14px 16px;margin-bottom:20px;}
/* Variation attribute row (Color swatches etc.) — sits below the buy-notes
   and above the add-to-cart form on variable products. */
.srct-pp-attr-row{margin:18px 0;display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.srct-pp-attr-label{
  font-family:var(--srct-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--srct-muted);font-weight:600;
}
.srct-pp-swatches{display:inline-flex;gap:8px;flex-wrap:wrap;}
.srct-pp-swatch{
  display:inline-flex;align-items:center;gap:10px;
  background:transparent;border:1.5px solid var(--srct-rule-strong);
  padding:7px 16px 7px 8px;border-radius:99px;cursor:pointer;
  font:inherit;font-size:13px;font-weight:500;color:var(--srct-ink-soft);
  transition:border-color .2s,background .2s,color .2s,transform .18s;
}
.srct-pp-swatch:hover{border-color:var(--srct-royal-200);background:var(--srct-royal-50);color:var(--srct-royal-700);}
.srct-pp-swatch.is-active{
  border-color:var(--srct-royal-700);background:var(--srct-paper);color:var(--srct-royal-900);
  box-shadow:inset 0 0 0 1px var(--srct-royal-700);
}
.srct-pp-swatch-dot{
  width:18px;height:18px;border-radius:50%;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);
  flex-shrink:0;
}
.srct-pp-swatch-name{line-height:1;}

/* Variations form — WC's structural elements are present but we hide the
   chrome we don't want (price/stock duplicates, "out of stock" reset link)
   and let our own price-row + stock bar above carry that information. */
.srct-pp-variations-form{margin:0;}
.srct-pp-variations-form .single_variation_wrap{margin-top:18px;}
.srct-pp-variations-form .single_variation,
.srct-pp-variations-form .reset_variations{display:none;}
.srct-pp-variations-form .variations_button{display:flex;align-items:center;gap:12px;}
.srct-pp-variations-form .single_add_to_cart_button{flex:1;}
.srct-pp-variations-form .single_add_to_cart_button.disabled,
.srct-pp-variations-form .single_add_to_cart_button:disabled{
  opacity:.6;cursor:not-allowed;pointer-events:none;
}
.srct-pp-variations-form .single_add_to_cart_button.is-loading{opacity:.7;cursor:progress;}
.srct-pp-variations-form .single_add_to_cart_button.is-flash-ok{background:#2D7A4A;border-color:#2D7A4A;}
.srct-pp-variations-form .single_add_to_cart_button.is-flash-err{background:#B23A48;border-color:#B23A48;}
/* Quantity stepper — Royal Court styling matching the surrounding inputs.
   When the parent product is "Sold individually" WC outputs a hidden
   input instead, so this block becomes a no-op. */
.srct-pp-variations-form .quantity{
  display:flex;align-items:center;border:1px solid var(--srct-rule);
  border-radius:8px;overflow:hidden;background:#fff;height:48px;
}
.srct-pp-variations-form .quantity label.screen-reader-text{position:absolute;left:-9999px;}
.srct-pp-variations-form .quantity .qty{
  width:56px;height:46px;border:0;background:transparent;text-align:center;
  font-family:var(--srct-serif);font-size:18px;color:var(--srct-ink);
  -moz-appearance:textfield;
}
.srct-pp-variations-form .quantity .qty:focus{outline:none;}
.srct-pp-variations-form .quantity .qty[readonly]{background:#FBFAFD;color:var(--srct-muted);cursor:default;}
.srct-pp-variations-form .quantity .qty::-webkit-outer-spin-button,
.srct-pp-variations-form .quantity .qty::-webkit-inner-spin-button{
  -webkit-appearance:none;margin:0;
}

/* Editor-supplied notes (shipping / lead time / terms) between the stock
   bar and the CTA. Lightweight Royal Court styling — paper background +
   honey accent stripe — works for both prose paragraphs and short lists. */
.srct-pp-buy-notes{
  background:var(--srct-paper);border:1px solid var(--srct-rule);
  border-left:3px solid var(--srct-honey-500);
  border-radius:8px;padding:14px 16px;margin-bottom:18px;
  font-size:13.5px;line-height:1.6;color:var(--srct-ink-soft);
}
.srct-pp-buy-notes p{margin:0 0 8px;}
.srct-pp-buy-notes p:last-child{margin-bottom:0;}
.srct-pp-buy-notes ul,.srct-pp-buy-notes ol{margin:0 0 8px;padding-left:1.2em;}
.srct-pp-buy-notes ul:last-child,.srct-pp-buy-notes ol:last-child{margin-bottom:0;}
.srct-pp-buy-notes li{margin:0 0 4px;}
.srct-pp-buy-notes strong,.srct-pp-buy-notes b{color:var(--srct-ink);}
.srct-pp-buy-notes a{color:var(--srct-royal-700);border-bottom:1px solid var(--srct-honey-300);}
.srct-pp-stock-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;font-family:var(--srct-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--srct-muted);}
.srct-pp-stock-top b{color:var(--srct-royal-700);font-weight:600;}
.srct-pp-stock-live{display:inline-flex;align-items:center;gap:6px;color:var(--srct-honey-700);font-weight:700;}
.srct-pp-stock-live::before{content:"";width:7px;height:7px;border-radius:99px;background:var(--srct-honey-500);animation:srct-pp-pulse 1.6s ease-in-out infinite;}
@keyframes srct-pp-pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.45;transform:scale(.8);}}
.srct-pp-stock-bar{position:relative;height:6px;border-radius:99px;background:var(--srct-rule-strong);margin:10px 0 4px;overflow:hidden;}
.srct-pp-stock-bar-fill{position:absolute;left:0;top:0;bottom:0;border-radius:99px;background:linear-gradient(95deg, var(--srct-royal-500), var(--srct-honey-500));width:0;transition:width 1.2s cubic-bezier(.2,.7,.2,1);}

/* Deposit list */
.srct-pp-deposit{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:0;}
.srct-pp-deposit li{display:grid;grid-template-columns:28px 1fr;gap:14px;align-items:start;padding:10px 0;border-bottom:1px dashed var(--srct-rule);font-size:14px;color:var(--srct-ink-soft);line-height:1.5;}
.srct-pp-deposit li:last-child{border-bottom:none;}
.srct-pp-deposit em{font-style:italic;color:var(--srct-royal-700);font-weight:600;}
.srct-pp-deposit-g{font-family:var(--srct-serif);font-style:italic;font-size:26px;color:var(--srct-honey-700);line-height:1;}

.srct-pp-cta-row{display:flex;flex-direction:column;gap:10px;}
.srct-pp-cta-main{justify-content:center;padding:18px 22px;font-family:var(--srct-serif);font-style:italic;font-size:18px;letter-spacing:.005em;font-weight:400;}
.srct-pp-cta-main.disabled,
.srct-pp-sticky-cta .srct-btn.disabled{
  opacity:.6;cursor:not-allowed;pointer-events:none;
}
.srct-pp-cta-main.is-loading,
.srct-pp-sticky-cta .srct-btn.is-loading{opacity:.7;cursor:progress;}
.srct-pp-cta-main.is-flash-ok,
.srct-pp-sticky-cta .srct-btn.is-flash-ok{background:#2D7A4A;border-color:#2D7A4A;}
.srct-pp-cta-main.is-flash-err,
.srct-pp-sticky-cta .srct-btn.is-flash-err{background:#B23A48;border-color:#B23A48;}
.srct-pp-trust{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-family:var(--srct-mono);font-size:11px;letter-spacing:.06em;color:var(--srct-muted);margin-top:14px;justify-content:center;}
.srct-pp-trust b{color:var(--srct-ink);font-weight:600;}
.srct-pp-anchors{display:flex;gap:16px;flex-wrap:wrap;margin-top:18px;padding-top:18px;border-top:1px dashed var(--srct-rule-strong);}
.srct-pp-anchors a{font-family:var(--srct-mono);font-size:12px;color:var(--srct-royal-700);letter-spacing:.06em;font-weight:600;display:inline-flex;align-items:center;gap:6px;}
.srct-pp-anchors a::after{content:"↓";transition:transform .25s ease;}
.srct-pp-anchors a:hover::after{transform:translateY(3px);}

/* Section common */
.srct-pp-section{padding:100px 0;border-top:1px solid var(--srct-rule);}
.srct-pp-section-label{display:flex;align-items:center;gap:14px;font-family:var(--srct-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--srct-royal-700);margin-bottom:24px;}
.srct-pp-section-label::after{content:"";flex:1;height:1px;background:var(--srct-rule-strong);}
.srct-pp-section-title{font-family:var(--srct-serif);font-weight:400;font-size:clamp(36px,4.5vw,60px);line-height:1.06;letter-spacing:-.012em;margin:0 0 14px;max-width:980px;}
.srct-pp-section-title em{font-style:italic;color:var(--srct-royal-700);font-weight:400;}
.srct-pp-section-sub{font-family:var(--srct-sans);font-size:17px;color:var(--srct-muted);max-width:680px;margin:0 0 56px;line-height:1.55;}
@media (max-width:720px){.srct-pp-section{padding:72px 0;}.srct-pp-section-sub{margin-bottom:36px;}}

/* What's in the Box */
.srct-pp-box-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--srct-rule-strong);}
.srct-pp-box-item{padding:36px 28px 32px;border-right:1px dashed var(--srct-rule);border-bottom:1px dashed var(--srct-rule);display:flex;flex-direction:column;gap:14px;transition:background .25s;}
.srct-pp-box-item:hover{background:var(--srct-paper);}
.srct-pp-box-item:nth-child(3n){border-right:none;}
.srct-pp-box-item:nth-last-child(-n+3){border-bottom:none;}
.srct-pp-box-top{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--srct-mono);font-size:11px;color:var(--srct-muted);letter-spacing:.12em;text-transform:uppercase;}
.srct-pp-box-n{font-family:var(--srct-serif);font-style:italic;font-weight:400;font-size:28px;color:var(--srct-honey-700);letter-spacing:-.02em;line-height:1;}
.srct-pp-box-qty{background:var(--srct-royal-900);color:var(--srct-honey-300);font-family:var(--srct-mono);font-size:10px;font-weight:600;letter-spacing:.14em;padding:4px 9px;border-radius:99px;}
.srct-pp-box-qty.is-lifetime{background:var(--srct-honey-500);color:var(--srct-royal-900);}
.srct-pp-box-thumb{aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:linear-gradient(160deg, var(--srct-royal-50), var(--srct-honey-50));border:1px solid var(--srct-rule);display:grid;place-items:center;position:relative;transition:transform .35s cubic-bezier(.2,.7,.2,1);}
.srct-pp-box-item:hover .srct-pp-box-thumb{transform:translateY(-4px);}
.srct-pp-box-thumb.is-app{background:linear-gradient(160deg, #2D1B4E 0%, #5B2E92 100%);}
.srct-pp-box-thumb svg{width:60%;height:auto;}
button.srct-pp-box-thumb{padding:0;margin:0;font:inherit;color:inherit;width:100%;}
button.srct-pp-box-thumb.is-zoomable{cursor:zoom-in;}
button.srct-pp-box-thumb.is-zoomable img{transition:transform .4s cubic-bezier(.2,.7,.2,1);}
button.srct-pp-box-thumb.is-zoomable:hover img{transform:scale(1.04);}
button.srct-pp-box-thumb:focus-visible{outline:2px solid var(--srct-royal-700);outline-offset:3px;}
.srct-pp-box-name{font-family:var(--srct-serif);font-weight:400;font-size:22px;line-height:1.18;letter-spacing:-.005em;margin:0;color:var(--srct-ink);}
.srct-pp-box-name em{font-style:italic;color:var(--srct-royal-700);font-weight:400;}
.srct-pp-box-use{font-size:14px;color:var(--srct-muted);line-height:1.6;margin:0;}
@media (max-width:900px){
  .srct-pp-box-grid{grid-template-columns:repeat(2,1fr);}
  .srct-pp-box-item{border-right:1px dashed var(--srct-rule);}
  .srct-pp-box-item:nth-child(3n){border-right:1px dashed var(--srct-rule);}
  .srct-pp-box-item:nth-child(2n){border-right:none;}
  .srct-pp-box-item:nth-last-child(-n+3){border-bottom:1px dashed var(--srct-rule);}
  .srct-pp-box-item:nth-last-child(-n+2){border-bottom:none;}
}
@media (max-width:520px){
  .srct-pp-box-grid{grid-template-columns:1fr;}
  .srct-pp-box-item{border-right:none!important;border-bottom:1px dashed var(--srct-rule)!important;}
  .srct-pp-box-item:last-child{border-bottom:none!important;}
}

/* How to Use */
.srct-pp-how-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start;}
.srct-pp-video-frame{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#1F1538;border:1px solid var(--srct-rule);box-shadow:0 30px 60px -28px rgba(45,27,78,.4);}
.srct-pp-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.srct-pp-video-placeholder{position:absolute;inset:0;background:radial-gradient(60% 70% at 50% 50%, rgba(123,77,189,.45), transparent 70%),linear-gradient(160deg, #2D1B4E 0%, #1F1538 100%);display:grid;place-items:center;cursor:pointer;color:var(--srct-paper);}
.srct-pp-video-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;padding:24px;}
.srct-pp-video-play{width:88px;height:88px;border-radius:50%;background:rgba(255,252,246,.94);border:1.5px solid var(--srct-honey-500);display:grid;place-items:center;position:relative;box-shadow:0 14px 30px -10px rgba(232,184,58,.6);transition:transform .25s cubic-bezier(.34,1.5,.64,1);}
.srct-pp-video-placeholder:hover .srct-pp-video-play{transform:scale(1.08);}
.srct-pp-video-play::after{content:"";display:block;border-left:20px solid var(--srct-royal-900);border-top:13px solid transparent;border-bottom:13px solid transparent;margin-left:5px;}
.srct-pp-video-play::before{content:"";position:absolute;inset:-8px;border-radius:50%;border:1px solid var(--srct-honey-300);opacity:.5;animation:srct-pp-ring 2.4s ease-out infinite;}
@keyframes srct-pp-ring{0%{transform:scale(1);opacity:.7;}100%{transform:scale(1.35);opacity:0;}}
.srct-pp-video-label{font-family:var(--srct-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--srct-honey-300);font-weight:600;}
.srct-pp-video-placeholder h3{font-family:var(--srct-serif);font-weight:400;font-style:italic;font-size:32px;color:var(--srct-paper);margin:0;letter-spacing:-.005em;line-height:1.15;}
.srct-pp-video-duration{font-family:var(--srct-mono);font-size:11px;letter-spacing:.14em;color:rgba(255,252,246,.6);padding-top:6px;border-top:1px dashed rgba(255,252,246,.18);width:120px;text-align:center;}

.srct-pp-video-caption{display:flex;justify-content:space-between;gap:14px;margin-top:12px;font-family:var(--srct-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--srct-muted);}
.srct-pp-video-caption em{font-family:var(--srct-serif);font-style:italic;color:var(--srct-ink);letter-spacing:0;text-transform:none;font-size:14px;}

.srct-pp-steps{display:flex;flex-direction:column;gap:0;}
.srct-pp-step{display:grid;grid-template-columns:60px 1fr;gap:18px;align-items:start;padding:24px 0;border-bottom:1px dashed var(--srct-rule-strong);transition:padding .25s ease;}
.srct-pp-step:first-child{padding-top:0;}
.srct-pp-step:last-child{border-bottom:none;}
.srct-pp-step:hover{padding-left:6px;}
.srct-pp-step-n{font-family:var(--srct-serif);font-style:italic;font-weight:400;font-size:46px;line-height:.9;color:var(--srct-honey-500);letter-spacing:-.03em;}
.srct-pp-step-title{font-family:var(--srct-serif);font-weight:400;font-size:24px;line-height:1.18;letter-spacing:-.005em;margin:0 0 4px;color:var(--srct-ink);}
.srct-pp-step-title em{font-style:italic;color:var(--srct-royal-700);font-weight:400;}
.srct-pp-step-meta{font-family:var(--srct-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--srct-royal-700);margin:0 0 8px;font-weight:600;}
.srct-pp-step-desc{font-size:14.5px;color:var(--srct-muted);line-height:1.65;margin:0;}
@media (max-width:900px){.srct-pp-how-grid{grid-template-columns:1fr;gap:36px;}}

/* Partners CTA */
.srct-pp-partners-section{padding:0 0 80px;}
.srct-pp-partners-strip{background:#1A1030;color:var(--srct-paper);margin:0;padding:48px 36px;border-radius:18px;position:relative;overflow:hidden;}
.srct-pp-partners-strip::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 70% at 0% 50%, rgba(232,184,58,.14), transparent 70%),radial-gradient(50% 70% at 100% 50%, rgba(123,77,189,.32), transparent 70%);}
.srct-pp-partners-inner{position:relative;z-index:1;display:flex;align-items:center;gap:32px;flex-wrap:wrap;}
.srct-pp-partners-copy{flex:1;min-width:280px;}
.srct-pp-partners-lbl{font-family:var(--srct-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--srct-honey-300);font-weight:600;display:block;margin-bottom:8px;}
.srct-pp-partners-copy p{font-family:var(--srct-serif);font-style:italic;font-weight:400;font-size:clamp(22px,2.4vw,30px);line-height:1.25;letter-spacing:-.005em;margin:0;color:var(--srct-paper);max-width:680px;}
@media (max-width:720px){.srct-pp-partners-strip{padding:36px 20px;}}

/* Gold outline button (used in Partners strip) */
.srct-btn-gold-outline{background:transparent;color:var(--srct-honey-300);border:1.5px solid var(--srct-honey-500);}
.srct-btn-gold-outline:hover{background:var(--srct-honey-500);color:var(--srct-ink);}

/* Mobile sticky CTA */
.srct-pp-sticky-cta{position:fixed;bottom:0;left:0;right:0;z-index:40;background:rgba(255,252,246,.96);backdrop-filter:blur(12px);border-top:1px solid var(--srct-rule-strong);padding:12px 20px;display:flex;align-items:center;gap:14px;transform:translateY(100%);transition:transform .35s cubic-bezier(.2,.7,.2,1);box-shadow:0 -10px 30px -15px rgba(45,27,78,.25);}
.srct-pp-sticky-cta.is-on{transform:translateY(0);}
.srct-pp-sticky-price{display:flex;flex-direction:column;line-height:1;}
.srct-pp-sticky-price b{font-family:var(--srct-serif);font-weight:400;font-size:24px;color:var(--srct-royal-900);}
.srct-pp-sticky-price small{font-family:var(--srct-mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--srct-muted);margin-top:3px;font-weight:500;}
.srct-pp-sticky-cta .srct-btn{flex:1;justify-content:center;padding:14px;font-size:14px;}
@media (min-width:760px){.srct-pp-sticky-cta{display:none;}}

/* Initial entrance: gallery + buy panel slide up */
.srct-pp-hero-grid > .srct-pp-gallery,
.srct-pp-hero-grid > .srct-pp-buy{opacity:0;transform:translateY(20px);transition:opacity 1s ease, transform 1s cubic-bezier(.2,.7,.2,1);}
.srct-pp-hero-grid.is-loaded > .srct-pp-gallery{opacity:1;transform:none;transition-delay:.15s;}
.srct-pp-hero-grid.is-loaded > .srct-pp-buy{opacity:1;transform:none;transition-delay:.3s;}

/* ============================================================ */
/* SLIM CHECKOUT HEADER                                          */
/* ============================================================ */
.srct-slim-head{position:sticky;top:0;z-index:30;background:rgba(250,246,240,.92);backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--srct-rule);min-height:62px;display:flex;align-items:center;}
.srct-slim-head-inner{max-width:1240px;margin:0 auto;padding:10px 36px;display:flex;align-items:center;gap:24px;width:100%;}
.srct-slim-back{display:inline-flex;align-items:center;gap:8px;font-family:var(--srct-mono);font-size:12px;letter-spacing:.06em;color:var(--srct-muted);padding:8px 12px;border-radius:99px;transition:color .2s, background .2s;}
.srct-slim-back::before{content:"←";display:inline-block;transition:transform .25s ease;}
.srct-slim-back:hover{color:var(--srct-royal-700);background:var(--srct-royal-50);}
.srct-slim-back:hover::before{transform:translateX(-3px);}
.srct-slim-trust{margin-left:auto;display:inline-flex;align-items:center;gap:10px;font-family:var(--srct-mono);font-size:11px;letter-spacing:.06em;color:var(--srct-muted);}
.srct-slim-trust b{color:var(--srct-ink);font-weight:600;}
.srct-slim-stripe{padding:4px 9px;border:1px solid var(--srct-rule-strong);border-radius:99px;color:var(--srct-royal-700);font-weight:700;letter-spacing:.04em;font-family:var(--srct-sans);font-size:11px;}
@media (max-width:720px){.srct-slim-head-inner{padding:10px 20px;gap:14px;}.srct-slim-back{padding:6px 8px;font-size:11px;}}

/* ============================================================ */
/* CHECKOUT PAGE                                                 */
/* ============================================================ */
.srct-page-checkout{padding-bottom:60px;}
.srct-co-strip{padding:36px 0 24px;display:flex;align-items:flex-end;gap:24px;flex-wrap:wrap;}
.srct-co-h1{font-family:var(--srct-serif);font-weight:400;font-size:clamp(32px,3.6vw,46px);line-height:1.04;letter-spacing:-.005em;margin:0;}
.srct-co-h1 em{font-style:italic;color:var(--srct-royal-700);}
.srct-co-steps{margin-left:auto;display:flex;align-items:center;gap:12px;font-family:var(--srct-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--srct-muted);flex-wrap:wrap;}
.srct-co-steps b{color:var(--srct-royal-700);font-weight:600;}
.srct-co-dot{width:5px;height:5px;border-radius:99px;background:var(--srct-rule-strong);}
.srct-co-dot.is-on{background:var(--srct-honey-500);}

.srct-co-layout{display:grid;grid-template-columns:1.05fr 0.95fr;gap:48px;align-items:start;}
@media (max-width:1023px){.srct-co-layout{grid-template-columns:1fr;gap:32px;}}
.srct-co-col{display:flex;flex-direction:column;gap:24px;}
.srct-co-col-right{position:sticky;top:84px;}
@media (max-width:1023px){.srct-co-col-right{position:relative;top:0;}}

.srct-co-card{background:var(--srct-paper);border:1px solid var(--srct-rule);border-radius:14px;padding:24px 26px;box-shadow:0 18px 40px -32px rgba(45,27,78,.2);}

/* Single-card layout — used when payment + order summary live in the same card. */
.srct-co-form-single{max-width:760px;margin:0 auto;}
.srct-co-card-merged{padding:28px 30px;}
@media (max-width:560px){.srct-co-card-merged{padding:22px 20px;}}

/* In-card section divider — separates order summary / address / payment
   when they share a single card. */
.srct-co-section{margin-top:28px;padding-top:24px;border-top:1px solid var(--srct-rule);}
.srct-co-section-h{
  font-family:var(--srct-serif);font-weight:400;font-size:18px;line-height:1.2;letter-spacing:-.005em;
  margin:0 0 14px;color:var(--srct-ink);
}
.srct-co-section-h em{font-style:italic;color:var(--srct-royal-700);font-weight:400;}
.srct-co-card-head{display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap;}
.srct-co-card-n{font-family:var(--srct-serif);font-style:italic;font-weight:400;font-size:24px;color:var(--srct-honey-700);line-height:1;letter-spacing:-.02em;}
.srct-co-card h2{font-family:var(--srct-serif);font-weight:400;font-size:22px;line-height:1.1;letter-spacing:-.005em;margin:0;color:var(--srct-ink);}
.srct-co-card h2 em{font-style:italic;color:var(--srct-royal-700);font-weight:400;}
.srct-co-card-acct{margin-left:auto;font-family:var(--srct-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--srct-muted);font-weight:600;display:inline-flex;align-items:baseline;gap:6px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.srct-co-card-acct b{color:var(--srct-ink);text-transform:none;letter-spacing:0;font-family:var(--srct-sans);font-size:12.5px;font-weight:600;}
@media (max-width:560px){.srct-co-card-acct{margin-left:0;flex-basis:100%;}}

.srct-co-acct{background:var(--srct-paper);border:1px solid var(--srct-rule);border-radius:12px;padding:12px 16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:13.5px;}
.srct-co-acct-ic{width:30px;height:30px;border-radius:99px;background:var(--srct-royal-50);color:var(--srct-royal-700);display:grid;place-items:center;flex-shrink:0;font-family:var(--srct-serif);font-style:italic;font-size:15px;}
.srct-co-acct-meta{font-family:var(--srct-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--srct-muted);display:block;margin-bottom:2px;font-weight:600;}
.srct-co-acct-email{color:var(--srct-ink);font-weight:600;}

.srct-co-deposit-note{margin-top:16px;border:1px solid var(--srct-honey-500);background:var(--srct-honey-50);border-radius:10px;padding:14px 16px;display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start;}
.srct-co-deposit-g{font-family:var(--srct-serif);font-style:italic;font-weight:400;font-size:24px;color:var(--srct-honey-700);line-height:1;}
.srct-co-deposit-note p{margin:0;font-size:13.5px;line-height:1.55;color:var(--srct-ink-soft);}
.srct-co-deposit-note p em{font-style:normal;color:var(--srct-ink);font-weight:600;}

/* ── "Already have an account?" sign-in bar (replaces WC default
   blue info-notice). Sits above the checkout form, small + flat.
   The actual login form (woocommerce-form-login) expands beneath
   when user clicks the inline link. */
.srct-co-login-bar{
  display:flex;align-items:center;gap:10px;
  padding:10px 14px;margin:0 0 18px;
  background:var(--srct-bg);border:1px solid var(--srct-rule);
  border-radius:8px;font-size:13.5px;color:var(--srct-ink-soft);
}
.srct-co-login-bar-ic{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:99px;
  background:#fff;border:1px solid var(--srct-rule);
  color:var(--srct-royal-700);flex-shrink:0;
}
.srct-co-login-bar-ic svg{width:12px;height:12px;}
.srct-co-login-bar-text{flex:1;}
.srct-co-login-bar-link{
  color:var(--srct-royal-700);text-decoration:underline;text-underline-offset:2px;
  margin-left:6px;font-weight:600;
}
.srct-co-login-bar-link:hover{color:var(--srct-honey-700);}
/* WC's default login form (rendered hidden under our bar). When user
   clicks .showlogin, it slides open — give it light Royal Court chrome
   so it doesn't look like an unstyled WC modal. */
.woocommerce-form-login{
  padding:16px;background:#fff;border:1px solid var(--srct-rule);
  border-radius:10px;margin:0 0 18px;
}

/* ── Coupon code block — sits inside the order-summary card right
   below the totals. No big colored card; just a thin label + inline
   input row, visually subordinate to the total it modifies.
   WC's checkout.js calls .hide() on form.checkout_coupon at init,
   so we force it visible via !important. */
.srct-co-coupon{
  margin:14px 0 0;padding:14px 0 0;
  border-top:1px dashed var(--srct-rule);
}
.srct-co-coupon-hint{
  margin:0 0 8px;font-family:var(--srct-mono);font-size:10.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--srct-muted);
  font-weight:600;
}
.srct-co-coupon-form,
form.checkout_coupon.srct-co-coupon-form{
  display:flex !important;gap:8px;align-items:stretch;margin:0;padding:0;
}
.srct-co-coupon-input{
  flex:1;min-width:0;height:40px;
  padding:0 12px;font:inherit;font-size:13px;color:var(--srct-ink);
  background:#fff;border:1px solid var(--srct-rule);border-radius:6px;
  transition:border-color .2s, box-shadow .2s;
  text-transform:uppercase;letter-spacing:.04em;
}
.srct-co-coupon-input:focus{
  outline:none;border-color:var(--srct-royal-700);
  box-shadow:0 0 0 2px var(--srct-royal-50);
}
.srct-co-coupon-input::placeholder{
  text-transform:none;letter-spacing:0;color:var(--srct-muted-2,#A8A0B3);
  font-size:13px;
}
.srct-co-coupon-btn{
  height:40px;padding:0 14px;border:1px solid var(--srct-ink);cursor:pointer;
  background:transparent;color:var(--srct-ink);
  font-family:var(--srct-mono);font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;font-weight:700;border-radius:6px;
  transition:background .2s, color .2s;
}
.srct-co-coupon-btn:hover{background:var(--srct-ink);color:var(--srct-paper);}
.srct-co-coupon-btn.is-loading{opacity:.6;cursor:progress;}

/* ── My Account / login screen ─────────────────────────────────
   When a guest hits /my-account/ (or any sub-endpoint like
   /orders/), WC routes to its myaccount/form-login.php template.
   This block re-skins that template into a centered Royal Court
   card with the social-login buttons pushed to the top via
   flex order, so Google is the primary action and email/password
   is the fallback below a separator. */
.srct-ma-login-wrap{
  max-width:520px;margin:48px auto 80px;padding:0 20px;
}
.srct-co-login-required{
  margin-top:40px;margin-bottom:64px;
}
.srct-ma-login-card{
  background:#fff;border:1px solid var(--srct-rule);border-radius:14px;
  padding:40px 36px;
  box-shadow:0 30px 80px -32px rgba(31,21,56,.18);
}
.srct-ma-login-head{margin-bottom:28px;text-align:center;}
.srct-ma-login-eyebrow{
  display:inline-block;font-family:var(--srct-mono);font-size:11px;
  letter-spacing:.22em;text-transform:uppercase;color:var(--srct-royal-700);
  font-weight:600;margin-bottom:10px;
}
.srct-ma-login-h1{
  margin:0 0 12px;font-family:var(--srct-serif);font-weight:400;
  font-size:30px;letter-spacing:-.01em;line-height:1.15;color:var(--srct-ink);
}
.srct-ma-login-h1 em{font-style:italic;color:var(--srct-royal-700);font-weight:400;}
.srct-ma-login-sub{
  margin:0;font-size:13.5px;line-height:1.55;color:var(--srct-muted);
}

/* HTML order: form-start hook → fields div → form-end hook (where
   Nextend's `nsl-custom-login-form-N` container gets appended at the
   bottom of the form by Nextend's own JS). We want the visual order:
   Google button → "or" divider → email/password fields. Make the
   form a flex column and pull the Nextend container to the top via
   negative flex `order`. The ID has an incrementing suffix so the
   selector uses a prefix matcher. */
.srct-ma-login-form{
  display:flex;flex-direction:column;gap:18px;margin:0;
}
.srct-ma-login-form [id^="nsl-custom-login-form-"]{
  order:-1;margin:0;
}
.srct-ma-login-form .srct-ma-login-fields{order:0;}
.srct-ma-login-form [id^="nsl-custom-login-form-"] .nsl-container-buttons a{
  border-radius:8px;font-family:var(--srct-mono);
}

/* Apple Sign-In button — Apple HIG compliant black skin. We piggyback
   on Nextend's .nsl-container classes so the layout matches the Google
   button pixel-for-pixel without extra CSS for sizing/alignment. */
.srct-ma-login-form #srct-apple-signin,
.srct-co-login-bar + .srct-apple-signin{order:-1;}
.srct-apple-signin{margin:0 0 8px;}
.srct-apple-signin a[data-plugin="srct-apple"]{display:block;text-decoration:none;}
.srct-apple-button{
  display:flex;align-items:center;justify-content:flex-start;gap:12px;
  background:#000;color:#fff;border-radius:8px;
  padding:0 20px;height:44px;
  font-family:var(--srct-mono);font-size:13px;
  transition:background .2s;
}
.srct-apple-button:hover{background:#1a1a1a;}
.srct-apple-button .nsl-button-svg-container{
  display:flex;align-items:center;justify-content:center;
  width:22px;height:22px;color:#fff;
}
.srct-apple-button .nsl-button-label-container{
  flex:1;color:#fff;font-weight:500;
}
.srct-apple-button .nsl-button-label-container b{font-weight:600;}

/* Divider between OAuth buttons (top) and email/password (bottom). */
.srct-ma-login-fields{display:flex;flex-direction:column;gap:12px;}
.srct-ma-login-or{
  position:relative;text-align:center;margin:8px 0 4px;height:1px;
  background:var(--srct-rule);
}
.srct-ma-login-or span{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  background:#fff;padding:0 12px;
  font-family:var(--srct-mono);font-size:10px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--srct-muted-2,#A8A0B3);font-weight:600;
}

.srct-ma-login-fields .form-row{margin:0;}
.srct-ma-login-fields label{
  display:block;margin-bottom:6px;
  font-family:var(--srct-mono);font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--srct-muted);font-weight:600;
}
.srct-ma-login-fields .input-text{
  width:100%;height:46px;padding:0 14px;
  font:inherit;font-size:14.5px;color:var(--srct-ink);
  background:#fff;border:1px solid var(--srct-rule-strong);border-radius:8px;
  transition:border-color .2s, box-shadow .2s;
}
.srct-ma-login-fields .input-text:focus{
  outline:none;border-color:var(--srct-royal-700);
  box-shadow:0 0 0 3px var(--srct-royal-50);
}

.srct-ma-login-row{
  display:flex;align-items:center;justify-content:space-between;
  font-size:13px;margin:4px 0;flex-wrap:wrap;gap:10px;
}
.srct-ma-login-remember{
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  color:var(--srct-ink-soft);
}
.srct-ma-login-remember input{margin:0;accent-color:var(--srct-royal-700);}
.srct-ma-login-lost{
  color:var(--srct-royal-700);text-decoration:none;font-weight:600;
}
.srct-ma-login-lost:hover{color:var(--srct-honey-700);text-decoration:underline;text-underline-offset:3px;}

.srct-ma-login-submit{
  margin-top:6px;width:100%;justify-content:center;
}

.srct-ma-login-footer{
  margin:24px 0 0;text-align:center;
  font-size:12.5px;color:var(--srct-muted);line-height:1.5;
}
.srct-ma-reset-wrap{max-width:540px;}
.srct-ma-reset-form .srct-ma-login-fields{gap:14px;}
.srct-ma-reset-card .srct-ma-login-sub{max-width:390px;margin-left:auto;margin-right:auto;}
.srct-ma-reset-note{
  margin:0;padding:14px 16px;border:1px solid var(--srct-rule);
  border-radius:10px;background:var(--srct-bg);
  font-size:13.5px;line-height:1.55;color:var(--srct-ink-soft);
  text-align:center;
}
@media (max-width:560px){
  .srct-ma-login-wrap{margin-top:32px;margin-bottom:56px;}
  .srct-ma-login-card{padding:32px 22px;border-radius:12px;}
  .srct-ma-login-h1{font-size:26px;}
}

/* ── My Account dashboard / inner pages ───────────────────────── */
.srct-page-account{padding:40px 0 80px;}
.srct-ma-greet{
  display:flex;align-items:center;gap:14px;
  padding:18px 24px;margin:0 0 24px;
  background:var(--srct-bg);border:1px solid var(--srct-rule);border-radius:12px;
}
.srct-ma-greet-avatar{
  width:42px;height:42px;border-radius:99px;flex-shrink:0;
  background:var(--srct-royal-50);color:var(--srct-royal-700);
  display:grid;place-items:center;
  font-family:var(--srct-serif);font-style:italic;font-size:20px;
}
.srct-ma-greet-meta{flex:1;line-height:1.2;}
.srct-ma-greet-label{
  display:block;font-family:var(--srct-mono);font-size:10px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--srct-muted);font-weight:600;margin-bottom:3px;
}
.srct-ma-greet-name{font-size:15px;font-weight:600;color:var(--srct-ink);}
.srct-ma-greet-logout{
  font-family:var(--srct-mono);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--srct-royal-700);text-decoration:none;
  font-weight:600;
}
.srct-ma-greet-logout:hover{color:var(--srct-honey-700);}

/* Two-column layout */
.srct-ma-layout{display:grid;grid-template-columns:240px 1fr;gap:32px;align-items:start;}
@media (max-width:840px){.srct-ma-layout{grid-template-columns:1fr;gap:20px;}}
/* WC's default woocommerce.css applies float:left + width:30% to the
   nav and float:right + width:68% to the content. Inside our grid
   container that scales them down to ~30%/68% of the grid track,
   making the sidebar end up ~72px wide. Neutralize both. */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content,
.srct-ma-layout > .woocommerce-MyAccount-navigation,
.srct-ma-layout > .woocommerce-MyAccount-content{
  float:none;width:100%;
}

/* Sidebar nav */
.srct-ma-nav{
  background:#fff;border:1px solid var(--srct-rule);border-radius:12px;
  padding:8px;
}
.srct-ma-nav ul{list-style:none;margin:0;padding:0;}
.srct-ma-nav li{margin:0;}
.srct-ma-nav-item a{
  display:flex;align-items:center;gap:11px;
  padding:10px 12px;border-radius:8px;
  text-decoration:none;color:var(--srct-ink-soft);
  font-size:14px;font-weight:500;
  transition:background .15s, color .15s;
}
.srct-ma-nav-item a:hover{background:var(--srct-bg);color:var(--srct-ink);}
.srct-ma-nav-item.is-current a{
  background:var(--srct-royal-50);color:var(--srct-royal-700);font-weight:600;
}
.srct-ma-nav-ic{
  display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;flex-shrink:0;color:currentColor;
}
.srct-ma-nav-ic svg{width:18px;height:18px;}

/* Right content column */
.srct-ma-content{
  background:#fff;border:1px solid var(--srct-rule);border-radius:12px;
  padding:28px 32px;min-height:380px;
}
.srct-ma-content h2,
.srct-ma-content h3{font-family:var(--srct-serif);font-weight:400;color:var(--srct-ink);}
.srct-ma-content h2{font-size:24px;margin:0 0 16px;}
.srct-ma-content h3{font-size:18px;margin:0 0 12px;}
.srct-ma-content p{line-height:1.6;color:var(--srct-ink-soft);}
.srct-ma-content a{color:var(--srct-royal-700);}
.srct-ma-content a:hover{color:var(--srct-honey-700);}

/* Dashboard inner sections */
.srct-ma-dash{display:flex;flex-direction:column;gap:24px;}
.srct-ma-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
}
@media (max-width:640px){.srct-ma-stats{grid-template-columns:1fr 1fr;}.srct-ma-stat:last-child{grid-column:span 2;}}
.srct-ma-stat{
  padding:18px 16px;border:1px solid var(--srct-rule);border-radius:10px;
  background:var(--srct-bg);
}
.srct-ma-stat-label{
  display:block;font-family:var(--srct-mono);font-size:10px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--srct-muted);font-weight:600;margin-bottom:6px;
}
.srct-ma-stat-value{
  display:block;font-family:var(--srct-serif);font-size:26px;color:var(--srct-ink);
  font-weight:400;
}
.srct-ma-stat-value bdi{font-weight:400;}

.srct-ma-credit{
  display:grid;grid-template-columns:48px 1fr;gap:16px;align-items:start;
  padding:20px;border:1px solid var(--srct-honey-500);background:var(--srct-honey-50);
  border-radius:12px;
}
.srct-ma-credit-glyph{
  font-family:var(--srct-serif);font-style:italic;font-size:38px;line-height:1;
  color:var(--srct-honey-700);
}
.srct-ma-credit-body h3{margin:0 0 4px;color:var(--srct-ink);font-size:18px;}
.srct-ma-credit-body p{margin:0 0 10px;font-size:13px;color:var(--srct-ink-soft);line-height:1.5;}
.srct-ma-credit-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;}
.srct-ma-credit-row code{
  font-family:var(--srct-mono);font-size:14px;font-weight:700;letter-spacing:.05em;
  background:#fff;border:1px dashed var(--srct-honey-500);
  padding:6px 12px;border-radius:6px;color:var(--srct-honey-700);
}
.srct-ma-credit-exp{font-size:12px;color:var(--srct-muted);}

.srct-ma-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
@media (max-width:640px){.srct-ma-quick{grid-template-columns:1fr;}}
.srct-ma-quick-card{
  display:flex;flex-direction:column;gap:6px;padding:18px 16px;
  border:1px solid var(--srct-rule);border-radius:10px;background:#fff;
  text-decoration:none;color:var(--srct-ink);
  transition:transform .15s, border-color .15s, background .15s;
}
.srct-ma-quick-card:hover{
  border-color:var(--srct-royal-700);background:var(--srct-royal-50);
  transform:translateY(-2px);
}
.srct-ma-quick-n{
  font-family:var(--srct-serif);font-style:italic;font-weight:400;
  color:var(--srct-royal-700);font-size:14px;
}
.srct-ma-quick-card h4{
  margin:0;font-family:var(--srct-serif);font-weight:400;font-size:17px;color:var(--srct-ink);
}
.srct-ma-quick-card p{margin:0;font-size:12.5px;line-height:1.45;color:var(--srct-muted);}

/* WC defaults inside .srct-ma-content (forms, tables, buttons) */
.srct-ma-content .woocommerce-form-row label{
  display:block;font-family:var(--srct-mono);font-size:10.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--srct-muted);
  font-weight:600;margin-bottom:6px;
}
.srct-ma-content .input-text{
  width:100%;height:44px;padding:0 13px;font:inherit;font-size:14.5px;
  color:var(--srct-ink);background:#fff;
  border:1px solid var(--srct-rule-strong);border-radius:8px;
  transition:border-color .2s, box-shadow .2s;
}
.srct-ma-content .input-text:focus{outline:none;border-color:var(--srct-royal-700);box-shadow:0 0 0 3px var(--srct-royal-50);}
.srct-ma-content .button,
.srct-ma-content button[type="submit"]{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--srct-honey-500);color:var(--srct-ink);
  font-family:var(--srct-mono);font-size:12px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  padding:12px 22px;border:0;border-radius:99px;cursor:pointer;
  transition:background .2s, transform .15s;
  box-shadow:0 8px 20px -8px rgba(232,184,58,.5);
  text-decoration:none;
}
.srct-ma-content .button:hover,
.srct-ma-content button[type="submit"]:hover{background:var(--srct-honey-300);transform:translateY(-1px);}
.srct-ma-content table.shop_table{
  width:100%;border-collapse:collapse;font-size:14px;
}
.srct-ma-content table.shop_table thead th{
  background:var(--srct-bg);font-family:var(--srct-mono);font-size:10.5px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--srct-muted);
  font-weight:600;padding:14px 16px;text-align:left;
  border-bottom:1px solid var(--srct-rule);
}
.srct-ma-content table.shop_table tbody td{
  padding:14px 16px;border-bottom:1px solid var(--srct-rule);
  color:var(--srct-ink);
}
.srct-ma-content table.shop_table tbody tr:last-child td{border-bottom:0;}
.srct-ma-content .woocommerce-orders-table__cell-order-actions a{
  display:inline-block;margin-right:8px;padding:6px 12px;font-size:11px;
  font-family:var(--srct-mono);letter-spacing:.08em;text-transform:uppercase;
  border:1px solid var(--srct-ink);border-radius:6px;text-decoration:none;
  color:var(--srct-ink);font-weight:700;
}
.srct-ma-content .woocommerce-orders-table__cell-order-actions a:hover{
  background:var(--srct-ink);color:var(--srct-paper);
}
.srct-ma-content .woocommerce-Address{
  background:var(--srct-bg);border:1px solid var(--srct-rule);
  border-radius:10px;padding:18px 20px;
}
.srct-ma-content .woocommerce-Address address{
  font-style:normal;line-height:1.7;color:var(--srct-ink);font-size:14px;
}
.srct-ma-content .woocommerce-Address .edit{
  display:inline-block;margin-top:8px;
  font-family:var(--srct-mono);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;font-weight:600;
}
.srct-ma-content .woocommerce-Pagination{margin-top:18px;}
.srct-ma-content .woocommerce-Pagination a{
  display:inline-block;padding:7px 12px;border:1px solid var(--srct-rule);
  border-radius:6px;text-decoration:none;color:var(--srct-ink-soft);font-size:13px;
}
.srct-ma-content .woocommerce-Pagination a:hover{border-color:var(--srct-royal-700);color:var(--srct-royal-700);}

/* ── My Coupons endpoint ──────────────────────────────────────── */
.srct-mc-head{margin:0 0 18px;}
.srct-mc-head h2{margin:0 0 4px;}
.srct-mc-head h2 em{font-style:italic;color:var(--srct-royal-700);font-weight:400;}
.srct-mc-sub{margin:0;font-size:13px;color:var(--srct-muted);line-height:1.5;}
.srct-mc-empty{
  padding:36px 24px;text-align:center;
  border:1px dashed var(--srct-rule);border-radius:10px;
  color:var(--srct-muted);background:var(--srct-bg);
}
.srct-mc-group-label{
  margin:22px 0 10px;font-family:var(--srct-mono);font-size:11px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--srct-muted);font-weight:600;
}
.srct-mc-group-label:first-child{margin-top:0;}
.srct-mc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.srct-mc-card{
  display:grid;grid-template-columns:88px 1fr;gap:16px;align-items:stretch;
  padding:0;border:1px solid var(--srct-honey-500);border-radius:10px;
  background:var(--srct-honey-50);overflow:hidden;
  transition:transform .15s, box-shadow .15s;
}
.srct-mc-card:hover{transform:translateY(-1px);box-shadow:0 12px 24px -16px rgba(31,21,56,.18);}
.srct-mc-card-amount{
  display:flex;align-items:center;justify-content:center;gap:2px;
  background:linear-gradient(135deg, var(--srct-honey-300), var(--srct-honey-500));
  color:var(--srct-ink);
}
.srct-mc-card-amount-cur{font-family:var(--srct-serif);font-style:italic;font-size:18px;}
.srct-mc-card-amount-n{font-family:var(--srct-serif);font-size:30px;font-weight:400;line-height:1;}
.srct-mc-card-body{padding:14px 16px;display:flex;flex-direction:column;justify-content:center;gap:8px;}
.srct-mc-card-code-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.srct-mc-card-code{
  font-family:var(--srct-mono);font-size:14px;font-weight:700;letter-spacing:.06em;
  color:var(--srct-honey-700);background:#fff;border:1px dashed var(--srct-honey-500);
  padding:5px 10px;border-radius:6px;
}
.srct-mc-copy{
  background:transparent;border:1px solid var(--srct-ink);color:var(--srct-ink);
  font-family:var(--srct-mono);font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;font-weight:700;
  padding:5px 10px;border-radius:6px;cursor:pointer;
  transition:background .15s, color .15s;
}
.srct-mc-copy:hover{background:var(--srct-ink);color:var(--srct-paper);}
.srct-mc-card-meta{margin:0;font-size:12.5px;color:var(--srct-ink-soft);line-height:1.4;}
/* Used / Expired states — muted */
.srct-mc-card.is-used,
.srct-mc-card.is-expired{
  background:var(--srct-bg);border-color:var(--srct-rule);
  opacity:.7;
}
.srct-mc-card.is-used .srct-mc-card-amount,
.srct-mc-card.is-expired .srct-mc-card-amount{
  background:var(--srct-rule);color:var(--srct-muted);
}
.srct-mc-card.is-used .srct-mc-card-code,
.srct-mc-card.is-expired .srct-mc-card-code{
  color:var(--srct-muted);border-color:var(--srct-rule);
  text-decoration:line-through;
}
.srct-co-coupon-notice{margin-top:10px;font-size:12.5px;line-height:1.5;}
.srct-co-coupon-notice.is-success{color:#2D7A4A;}
.srct-co-coupon-notice.is-error{color:#B23A48;}
.srct-co-coupon-notice ul,.srct-co-coupon-notice .woocommerce-error,.srct-co-coupon-notice .woocommerce-message{
  list-style:none;padding:8px 12px;margin:0;
  border-radius:6px;background:rgba(178,58,72,.08);border:1px solid rgba(178,58,72,.18);
  /* Kill WC's absolute-positioned icon-font ⚠ that floats above the text. */
  position:relative;padding-left:12px;text-indent:0;
}
.srct-co-coupon-notice.is-success ul,.srct-co-coupon-notice.is-success .woocommerce-message{
  background:rgba(45,122,74,.08);border-color:rgba(45,122,74,.20);
}
.srct-co-coupon-notice li{padding:0;margin:0;}
/* Suppress WC's default icon-font glyph rendered as ::before. */
.srct-co-coupon-notice ul::before,
.srct-co-coupon-notice .woocommerce-error::before,
.srct-co-coupon-notice .woocommerce-message::before,
.srct-co-coupon-notice .woocommerce-info::before{
  content:none !important;
  display:none !important;
}

.srct-co-refund{text-align:center;font-family:var(--srct-mono);font-size:11px;letter-spacing:.06em;color:var(--srct-royal-700);margin:14px 0 0;}
.srct-co-refund a{font-weight:600;}
.srct-co-refund a:hover{text-decoration:underline;text-underline-offset:3px;}

.srct-co-help{text-align:center;padding:24px 0;border-top:1px solid var(--srct-rule);font-family:var(--srct-mono);font-size:11.5px;letter-spacing:.1em;color:var(--srct-muted);display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;}
.srct-co-help a{color:var(--srct-royal-700);font-weight:600;}
.srct-co-help a:hover{text-decoration:underline;text-underline-offset:3px;}
.srct-co-help-sep{color:var(--srct-rule-strong);}

/* WC field re-skin inside checkout cards (best-effort styling of WC defaults) */
.srct-co-form .woocommerce-billing-fields h3,
.srct-co-form .woocommerce-shipping-fields h3,
.srct-co-form .woocommerce-additional-fields h3{font-family:var(--srct-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--srct-royal-700);font-weight:600;margin:0 0 14px;}
.srct-co-form .form-row label{font-family:var(--srct-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--srct-muted);font-weight:600;margin-bottom:6px;display:block;}
.srct-co-form .form-row input.input-text,
.srct-co-form .form-row select,
.srct-co-form .form-row textarea,
.srct-co-form .form-row .select2-selection{
  font:inherit;font-size:14.5px;line-height:1.4;color:var(--srct-ink);background:#fff;
  border:1px solid var(--srct-rule-strong);border-radius:8px;padding:11px 13px;
  transition:border-color .2s, box-shadow .2s;width:100%;height:auto;
}
.srct-co-form .form-row input.input-text:focus,
.srct-co-form .form-row select:focus,
.srct-co-form .form-row textarea:focus{outline:none;border-color:var(--srct-royal-700);box-shadow:0 0 0 3px var(--srct-royal-50);}
.srct-co-form .form-row.woocommerce-invalid input.input-text,
.srct-co-form .form-row.woocommerce-invalid select{border-color:#B23A48;background:#FBEAEC;}

/* ── Select2 (Country / State dropdown) ────────────────────────
   WC renders the country select via select2.js. The default theme
   is browser-blue and ignores everything we set on the underlying
   <select>. Override aggressively so the closed pill, arrow, open
   panel, search box, hover and selected states all read as Royal
   Court — same border / radius / focus color as the rest of the
   checkout form.

   The dropdown panel renders at document root (not inside our
   form), so we target `.select2-dropdown` from anywhere (no
   ancestor selector available). */
.srct-co-form .form-row .select2-container{width:100% !important;}
.srct-co-form .form-row .select2-container .select2-selection--single{
  height:46px;display:flex;align-items:center;
  background:#fff;border:1px solid var(--srct-rule-strong);border-radius:8px;
  padding:0 38px 0 13px;transition:border-color .2s, box-shadow .2s;
}
.srct-co-form .form-row .select2-container--open .select2-selection--single,
.srct-co-form .form-row .select2-container--focus .select2-selection--single{
  border-color:var(--srct-royal-700);box-shadow:0 0 0 3px var(--srct-royal-50);
}
.srct-co-form .form-row .select2-selection--single .select2-selection__rendered{
  color:var(--srct-ink);font:inherit;font-size:14.5px;line-height:46px;padding:0;
}
.srct-co-form .form-row .select2-selection--single .select2-selection__placeholder{
  color:var(--srct-muted);
}
.srct-co-form .form-row .select2-selection--single .select2-selection__arrow{
  height:46px;width:38px;top:0;right:0;
}
.srct-co-form .form-row .select2-selection--single .select2-selection__arrow b{
  border-color:var(--srct-muted) transparent transparent transparent;
  border-width:5px 4px 0 4px;margin-left:-4px;margin-top:-2px;
}
.srct-co-form .form-row .select2-container--open .select2-selection--single .select2-selection__arrow b{
  border-color:transparent transparent var(--srct-royal-700) transparent;
  border-width:0 4px 5px 4px;
}

/* Dropdown panel (rendered at body level — global selector). */
.select2-dropdown{
  background:#fff;border:1px solid var(--srct-rule-strong);border-radius:10px;
  box-shadow:0 12px 40px -8px rgba(31,21,56,.18);overflow:hidden;margin-top:4px;
}
.select2-dropdown.select2-dropdown--above{margin-top:0;margin-bottom:4px;}
.select2-search--dropdown{padding:10px;background:var(--srct-bg);border-bottom:1px solid var(--srct-rule);}
.select2-search--dropdown .select2-search__field{
  border:1px solid var(--srct-rule-strong) !important;border-radius:6px !important;
  padding:8px 10px !important;font:inherit;font-size:14px;color:var(--srct-ink);
  background:#fff;transition:border-color .2s;
}
.select2-search--dropdown .select2-search__field:focus{
  outline:none;border-color:var(--srct-royal-700) !important;box-shadow:0 0 0 2px var(--srct-royal-50);
}
.select2-results__options{max-height:260px;}
.select2-results__option{
  padding:9px 14px;font-size:14px;line-height:1.35;color:var(--srct-ink);
  transition:background .12s, color .12s;
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{
  background:var(--srct-royal-50);color:var(--srct-royal-700);
}
.select2-container--default .select2-results__option[aria-selected=true],
.select2-container--default .select2-results__option--selected{
  background:var(--srct-honey-50);color:var(--srct-ink);font-weight:600;
}

/* Payment methods */
.srct-co-section-pay .payment_methods{list-style:none;margin:0 0 18px;padding:0;}
.srct-co-section-pay .payment_methods > li{background:var(--srct-bg);border:1px solid var(--srct-rule);border-radius:10px;padding:14px;margin-bottom:10px;}
.srct-co-section-pay .payment_methods > li label{font-family:var(--srct-mono);font-size:12px;letter-spacing:.06em;color:var(--srct-ink);font-weight:600;}
.srct-co-section-pay .place-order .button{
  font-family:var(--srct-serif);font-style:italic;font-weight:400;font-size:19px;letter-spacing:.005em;
  background:var(--srct-honey-500);color:var(--srct-ink);
  padding:18px 22px;border-radius:99px;border:0;width:100%;cursor:pointer;
  box-shadow:0 10px 24px -12px rgba(232,184,58,.6);transition:transform .18s ease, background .18s;
}
.srct-co-section-pay .place-order .button:hover{background:var(--srct-honey-300);transform:translateY(-1px);}

/* ============================================================ */
/* THANK YOU PAGE                                                */
/* ============================================================ */
.srct-page-thankyou{padding:60px 0 100px;}
.srct-ty-head{text-align:center;padding:24px 0 36px;}
.srct-ty-check{width:120px;height:120px;margin:0 auto 24px;position:relative;}
.srct-ty-check svg{width:100%;height:100%;}
.srct-ty-check .srct-ty-ring{animation:srct-ty-spin 18s linear infinite;transform-origin:center;transform-box:fill-box;}
@keyframes srct-ty-spin{to{transform:rotate(360deg);}}
.srct-ty-check .srct-ty-tick{stroke-dasharray:80;stroke-dashoffset:80;animation:srct-ty-draw .9s cubic-bezier(.5,.5,.2,1.2) .3s forwards;}
@keyframes srct-ty-draw{to{stroke-dashoffset:0;}}

.srct-ty-eyebrow{font-family:var(--srct-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--srct-royal-700);font-weight:600;display:inline-block;margin-bottom:14px;}
.srct-ty-h1{font-family:var(--srct-serif);font-weight:400;font-size:clamp(40px,6vw,72px);line-height:1.04;letter-spacing:-.018em;margin:0 0 10px;color:var(--srct-ink);}
.srct-ty-h1 em{font-style:italic;color:var(--srct-royal-700);}
.srct-ty-tagline{font-family:var(--srct-zh);font-size:18px;letter-spacing:.18em;color:var(--srct-ink-soft);margin:0 0 16px;}
.srct-ty-sub{font-size:16px;color:var(--srct-muted);max-width:560px;margin:0 auto 24px;line-height:1.55;}

.srct-ty-order{display:inline-flex;align-items:center;gap:8px;font-family:var(--srct-mono);font-size:13px;letter-spacing:.06em;background:var(--srct-paper);border:1px solid var(--srct-honey-500);border-radius:99px;padding:8px 14px;}
.srct-ty-order-label{color:var(--srct-muted);}
.srct-ty-order code{font-weight:600;color:var(--srct-royal-700);background:transparent;}
.srct-ty-copy{padding:4px 10px;border-radius:99px;background:transparent;border:1px solid var(--srct-rule-strong);font-family:var(--srct-mono);font-size:11px;font-weight:600;letter-spacing:.06em;cursor:pointer;transition:background .2s;color:var(--srct-royal-700);}
.srct-ty-copy:hover{background:var(--srct-royal-50);}
.srct-ty-copy.is-copied{background:var(--srct-honey-50);border-color:var(--srct-honey-500);color:var(--srct-honey-700);}

.srct-ty-summary{background:var(--srct-paper);border:1px solid var(--srct-honey-500);border-radius:18px;padding:32px 36px;margin:32px 0;box-shadow:0 28px 60px -28px rgba(232,184,58,.35);}
.srct-ty-summary-grid{display:flex;flex-direction:column;gap:16px;}
.srct-ty-row{display:grid;grid-template-columns:80px 1fr auto;gap:16px;align-items:center;padding-bottom:16px;border-bottom:1px dashed var(--srct-rule-strong);}
.srct-ty-row:last-child{border-bottom:none;padding-bottom:0;}
.srct-ty-thumb img{width:80px;height:80px;border-radius:8px;object-fit:cover;}
.srct-ty-info h3{font-family:var(--srct-serif);font-weight:400;font-size:18px;line-height:1.18;margin:0 0 4px;}
.srct-ty-info p{font-family:var(--srct-mono);font-size:11.5px;color:var(--srct-muted);letter-spacing:.06em;margin:0;}
.srct-ty-info p b{color:var(--srct-ink);font-family:var(--srct-sans);font-size:14px;letter-spacing:0;font-weight:600;}
.srct-ty-amount{font-family:var(--srct-serif);font-weight:400;font-size:22px;color:var(--srct-honey-700);}
.srct-ty-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:18px;border-top:2px solid var(--srct-ink);margin-top:8px;}
.srct-ty-total-lbl{font-family:var(--srct-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--srct-muted);}
.srct-ty-total-val{font-family:var(--srct-serif);font-weight:400;font-size:32px;color:var(--srct-royal-900);}
.srct-ty-credit{margin-top:14px;font-family:var(--srct-mono);font-size:12px;letter-spacing:.04em;color:var(--srct-honey-700);text-align:center;padding:10px;background:var(--srct-honey-50);border-radius:8px;}
.srct-ty-order-meta{display:flex;justify-content:space-between;margin-top:14px;font-family:var(--srct-mono);font-size:11px;color:var(--srct-muted);letter-spacing:.06em;flex-wrap:wrap;gap:10px;}

.srct-ty-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative;margin:48px 0;padding:24px 0;border-top:1px dashed var(--srct-rule-strong);border-bottom:1px dashed var(--srct-rule-strong);}
@media (max-width:720px){.srct-ty-timeline{grid-template-columns:1fr;gap:24px;}}
.srct-ty-step{text-align:center;padding:12px 18px;position:relative;}
.srct-ty-step + .srct-ty-step::before{content:"";position:absolute;top:32px;left:-8px;width:16px;height:2px;background:repeating-linear-gradient(90deg, var(--srct-honey-500) 0 4px, transparent 4px 8px);}
@media (max-width:720px){.srct-ty-step + .srct-ty-step::before{display:none;}}
.srct-ty-step-num{font-family:var(--srct-serif);font-style:italic;font-size:20px;color:var(--srct-honey-700);display:block;margin-bottom:6px;}
.srct-ty-step.is-now .srct-ty-step-num{color:var(--srct-royal-700);}
.srct-ty-step-time{font-family:var(--srct-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--srct-muted);font-weight:600;display:block;margin-bottom:6px;}
.srct-ty-step.is-now .srct-ty-step-time{color:var(--srct-honey-700);}
.srct-ty-step-title{font-family:var(--srct-serif);font-weight:400;font-size:20px;line-height:1.2;margin:0 0 4px;color:var(--srct-ink);}
.srct-ty-step-desc{font-size:13px;color:var(--srct-muted);line-height:1.5;margin:0;}

.srct-ty-email{background:var(--srct-royal-900);color:var(--srct-paper);border:1px solid var(--srct-honey-500);border-radius:14px;padding:18px 22px;display:grid;grid-template-columns:32px 1fr;gap:14px;align-items:center;margin-bottom:36px;}
.srct-ty-email-ic{font-size:22px;color:var(--srct-honey-300);}
.srct-ty-email p{margin:0;font-size:14px;line-height:1.55;color:#E6D9EC;}
.srct-ty-email p b{color:var(--srct-honey-300);font-family:var(--srct-mono);font-weight:600;letter-spacing:.04em;font-size:13px;}

.srct-ty-cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ============================================================ */
/* MY ORDERS PAGE                                                */
/* ============================================================ */
.srct-page-orders{padding:48px 0 80px;}
.srct-orders-head{display:flex;align-items:center;gap:16px;padding:24px 28px;background:var(--srct-paper);border:1px solid var(--srct-rule);border-radius:14px;margin-bottom:36px;flex-wrap:wrap;}
.srct-orders-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(160deg, var(--srct-honey-200), var(--srct-honey-500));color:var(--srct-royal-900);display:grid;place-items:center;font-family:var(--srct-serif);font-style:italic;font-size:22px;flex-shrink:0;}
.srct-orders-greeting{font-family:var(--srct-serif);font-size:22px;margin:0;color:var(--srct-ink);}
.srct-orders-greeting b{font-style:italic;color:var(--srct-royal-700);font-weight:400;}
.srct-orders-email{font-family:var(--srct-mono);font-size:11px;color:var(--srct-muted);letter-spacing:.06em;margin:4px 0 0;}
.srct-orders-signout{margin-left:auto;font-family:var(--srct-mono);font-size:12px;letter-spacing:.06em;color:var(--srct-royal-700);padding:8px 14px;border:1px solid var(--srct-rule-strong);border-radius:99px;transition:background .2s;}
.srct-orders-signout:hover{background:var(--srct-royal-50);}

.srct-orders-titlebar{display:flex;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap;}
.srct-orders-h1{font-family:var(--srct-serif);font-weight:400;font-size:clamp(36px,4vw,52px);line-height:1.04;letter-spacing:-.018em;margin:0;}
.srct-orders-h1 em{font-style:italic;color:var(--srct-royal-700);}
.srct-orders-count{font-family:var(--srct-mono);font-size:13px;color:var(--srct-muted);padding:6px 10px;border:1px solid var(--srct-rule-strong);border-radius:99px;}
.srct-orders-tabs{margin-left:auto;display:flex;gap:8px;}
.srct-orders-tabs button{background:transparent;border:1px solid var(--srct-rule-strong);border-radius:99px;padding:8px 16px;font-family:var(--srct-mono);font-size:12px;letter-spacing:.06em;color:var(--srct-muted);cursor:pointer;transition:all .2s;}
.srct-orders-tabs button.is-active{background:var(--srct-ink);color:var(--srct-paper);border-color:var(--srct-ink);}

.srct-orders-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:18px;}
.srct-order-card{background:var(--srct-paper);border:1px solid var(--srct-rule);border-radius:14px;transition:transform .25s, border-color .25s, box-shadow .25s;}
.srct-order-card:hover{transform:translateY(-2px);border-color:var(--srct-honey-500);box-shadow:0 24px 60px -28px rgba(45,27,78,.25);}
.srct-order-card-link{display:block;padding:24px 28px;color:inherit;}
.srct-order-card-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px;}
.srct-order-card-num{font-family:var(--srct-mono);font-size:13px;background:var(--srct-royal-900);color:var(--srct-paper);padding:6px 12px;border-radius:99px;font-weight:600;letter-spacing:.06em;}
.srct-order-card-status{font-family:var(--srct-mono);font-size:11px;color:var(--srct-honey-700);background:var(--srct-honey-50);border:1px solid var(--srct-honey-500);padding:4px 10px;border-radius:99px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.srct-order-card-date{margin-left:auto;font-family:var(--srct-mono);font-size:11px;color:var(--srct-muted);letter-spacing:.06em;}
.srct-order-card-body{display:grid;grid-template-columns:80px 1fr auto;gap:16px;align-items:center;margin-bottom:24px;}
.srct-order-card-thumb img{width:80px;height:80px;border-radius:8px;object-fit:cover;background:var(--srct-royal-50);}
.srct-order-card-info h3{font-family:var(--srct-serif);font-weight:400;font-size:20px;margin:0 0 6px;}
.srct-order-card-info p{font-family:var(--srct-mono);font-size:11.5px;color:var(--srct-muted);margin:0;letter-spacing:.06em;}
.srct-order-card-cta{font-family:var(--srct-mono);font-size:12px;color:var(--srct-royal-700);font-weight:600;letter-spacing:.06em;padding:8px 14px;border:1px solid var(--srct-rule-strong);border-radius:99px;}

.srct-order-progress{display:flex;align-items:center;gap:0;}
.srct-order-progress-step{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:4px;}
.srct-order-progress-dot{width:14px;height:14px;border-radius:50%;background:var(--srct-rule-strong);border:2px solid var(--srct-paper);box-shadow:0 0 0 1px var(--srct-rule-strong);}
.srct-order-progress-step.is-done .srct-order-progress-dot{background:var(--srct-honey-500);box-shadow:0 0 0 1px var(--srct-honey-500);}
.srct-order-progress-step.is-current .srct-order-progress-dot{background:var(--srct-royal-700);box-shadow:0 0 0 1px var(--srct-royal-700);animation:srct-pp-pulse 1.6s ease-in-out infinite;}
.srct-order-progress-lbl{font-family:var(--srct-mono);font-size:10px;letter-spacing:.1em;color:var(--srct-muted);text-transform:uppercase;}
.srct-order-progress-step.is-done .srct-order-progress-lbl,
.srct-order-progress-step.is-current .srct-order-progress-lbl{color:var(--srct-royal-700);font-weight:600;}
.srct-order-progress-line{flex:1;height:2px;background:repeating-linear-gradient(90deg, var(--srct-rule-strong) 0 4px, transparent 4px 8px);margin:0 6px;}
.srct-order-progress-line.is-done{background:repeating-linear-gradient(90deg, var(--srct-honey-500) 0 4px, transparent 4px 8px);}
@media (max-width:720px){
  .srct-order-progress{flex-direction:column;gap:8px;align-items:flex-start;}
  .srct-order-progress-step{flex-direction:row;gap:12px;}
  .srct-order-progress-line{display:none;}
}

.srct-orders-empty{background:var(--srct-paper);border:1px dashed var(--srct-rule-strong);border-radius:18px;padding:64px 36px;text-align:center;}
.srct-orders-empty-num{font-family:var(--srct-serif);font-style:italic;font-size:48px;color:var(--srct-honey-700);display:block;margin-bottom:14px;}
.srct-orders-empty h2{font-family:var(--srct-serif);font-weight:400;font-size:32px;margin:0 0 24px;}
.srct-orders-empty h2 em{font-style:italic;color:var(--srct-royal-700);}
.srct-orders-pager{margin-top:32px;display:flex;justify-content:space-between;gap:14px;}

/* ============================================================ */
/* ORDER DETAIL PAGE                                             */
/* ============================================================ */
.srct-page-order-detail{padding:48px 0 80px;}
.srct-od-back{display:inline-flex;align-items:center;gap:8px;font-family:var(--srct-mono);font-size:12px;letter-spacing:.06em;color:var(--srct-royal-700);padding:8px 14px;border:1px solid var(--srct-rule-strong);border-radius:99px;margin-bottom:24px;transition:background .2s, transform .2s;}
.srct-od-back::before{content:"←";display:inline-block;transition:transform .25s ease;}
.srct-od-back:hover{background:var(--srct-royal-50);}
.srct-od-back:hover::before{transform:translateX(-3px);}

.srct-od-head{display:flex;align-items:center;gap:16px;margin-bottom:32px;flex-wrap:wrap;}
.srct-od-h1{font-family:var(--srct-serif);font-weight:400;font-size:clamp(32px,4vw,48px);line-height:1.04;margin:0;}
.srct-od-h1 em{font-style:italic;color:var(--srct-royal-700);}
.srct-od-badge{font-family:var(--srct-mono);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--srct-honey-700);background:var(--srct-honey-50);border:1px solid var(--srct-honey-500);padding:5px 12px;border-radius:99px;display:inline-flex;align-items:center;gap:6px;}
.srct-od-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--srct-honey-500);animation:srct-pp-pulse 1.6s ease-in-out infinite;}
.srct-od-meta{font-family:var(--srct-mono);font-size:11px;color:var(--srct-muted);letter-spacing:.06em;width:100%;margin:0;display:flex;gap:18px;flex-wrap:wrap;}

.srct-od-section{margin-bottom:32px;}
.srct-od-section-label{display:flex;align-items:center;gap:14px;font-family:var(--srct-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--srct-royal-700);margin-bottom:16px;}
.srct-od-section-label::after{content:"";flex:1;height:1px;background:var(--srct-rule-strong);}

.srct-od-item-card{background:var(--srct-paper);border:1px solid var(--srct-honey-500);border-radius:14px;padding:24px;display:grid;grid-template-columns:120px 1fr auto;gap:18px;align-items:center;box-shadow:0 18px 40px -32px rgba(232,184,58,.4);}
.srct-od-item-thumb img{width:120px;height:120px;border-radius:10px;object-fit:cover;background:var(--srct-royal-50);}
.srct-od-item-info h3{font-family:var(--srct-serif);font-weight:400;font-size:22px;margin:0 0 6px;}
.srct-od-item-info p{font-family:var(--srct-mono);font-size:11.5px;color:var(--srct-muted);margin:0 0 4px;letter-spacing:.06em;}
.srct-od-item-info p b{color:var(--srct-ink);font-family:var(--srct-sans);font-size:14px;letter-spacing:0;font-weight:600;}
.srct-od-item-credit{color:var(--srct-honey-700)!important;font-weight:600;}
.srct-od-item-amount{font-family:var(--srct-serif);font-weight:400;font-size:28px;color:var(--srct-honey-700);}

.srct-od-progress{display:flex;align-items:center;background:var(--srct-paper);border:1px solid var(--srct-rule);border-radius:14px;padding:24px;gap:8px;}
.srct-od-progress-step{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:8px;}
.srct-od-progress-badge{width:44px;height:44px;border-radius:50%;background:var(--srct-bg);border:1.5px solid var(--srct-rule-strong);display:grid;place-items:center;font-family:var(--srct-serif);font-style:italic;font-size:18px;color:var(--srct-muted);}
.srct-od-progress-step.is-done .srct-od-progress-badge{background:linear-gradient(160deg, var(--srct-honey-200), var(--srct-honey-500));border-color:var(--srct-honey-500);color:var(--srct-royal-900);}
.srct-od-progress-step.is-current .srct-od-progress-badge{background:var(--srct-royal-50);border-color:var(--srct-royal-700);color:var(--srct-royal-700);box-shadow:0 0 0 4px rgba(91,46,146,.15);animation:srct-pp-pulse 1.6s ease-in-out infinite;}
.srct-od-progress-lbl{font-family:var(--srct-mono);font-size:10px;letter-spacing:.1em;color:var(--srct-muted);text-transform:uppercase;}
.srct-od-progress-line{flex:1;height:2px;background:repeating-linear-gradient(90deg, var(--srct-rule-strong) 0 6px, transparent 6px 10px);margin-top:-22px;}
.srct-od-progress-line.is-done{background:repeating-linear-gradient(90deg, var(--srct-honey-500) 0 6px, transparent 6px 10px);}
@media (max-width:720px){.srct-od-progress{flex-direction:column;gap:18px;align-items:flex-start;}.srct-od-progress-step{flex-direction:row;gap:14px;}.srct-od-progress-line{display:none;}}

.srct-od-address-card,.srct-od-notes{background:var(--srct-paper);border:1px solid var(--srct-rule);border-radius:14px;padding:20px 24px;}
.srct-od-address-body{margin:0 0 6px;line-height:1.6;color:var(--srct-ink);font-style:italic;font-family:var(--srct-serif);font-size:18px;}
.srct-od-address-phone{margin:0;font-family:var(--srct-mono);font-size:13px;color:var(--srct-muted);letter-spacing:.06em;}
.srct-od-notes{font-size:14.5px;color:var(--srct-ink-soft);line-height:1.6;}

.srct-od-actions{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap;justify-content:center;}

/* ============================================================
 * Shop list page (WooCommerce archive-product override)
 * Mirrors the Royal Court shop-list.html design — hero + toolbar
 * + filter pills + product grid + coming-soon stamp.
 * ============================================================ */
.srct-shop-page{padding-top:8px;}
.srct-shop-hero{
  padding:28px 0 20px;position:relative;
  display:flex;align-items:center;gap:24px;flex-wrap:wrap;
  border-bottom:1px solid var(--srct-rule-strong);
}
.srct-shop-h1{
  font-family:var(--srct-serif);font-weight:400;
  font-size:clamp(34px,4vw,46px);line-height:1;letter-spacing:-.01em;
  margin:0;color:var(--srct-ink);
  display:inline-flex;align-items:baseline;gap:12px;
}
.srct-shop-h1 em{font-style:italic;color:var(--srct-royal-700);}
.srct-shop-h1 .zh-inline{
  font-family:var(--srct-zh);font-style:normal;font-weight:400;
  font-size:.42em;letter-spacing:.16em;color:var(--srct-muted);
  align-self:center;line-height:1.2;
}
.srct-shop-sub{
  font-size:14px;color:var(--srct-muted);margin:0;line-height:1.5;
  padding-left:18px;border-left:1px solid var(--srct-rule-strong);
  max-width:480px;
}
.srct-shop-sub b{color:var(--srct-ink);font-weight:600;}
.srct-shop-hero-stock{
  margin-left:auto;display:inline-flex;align-items:center;gap:8px;
  font-family:var(--srct-mono);font-size:11px;letter-spacing:.08em;white-space:nowrap;
}
.srct-shop-hero-stock .chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:4px 10px;border-radius:99px;
  background:var(--srct-honey-50);border:1px solid var(--srct-honey-500);
  color:var(--srct-honey-700);font-weight:700;letter-spacing:.1em;
}
.srct-shop-hero-stock .chip::before{
  content:"";width:6px;height:6px;border-radius:99px;background:var(--srct-honey-500);
  animation:srct-shop-pulse 2.2s ease-in-out infinite;
}
.srct-shop-hero-stock .chip.in-stock{
  background:var(--srct-royal-50);border-color:var(--srct-royal-200);color:var(--srct-royal-700);
}
.srct-shop-hero-stock .chip.in-stock::before{background:var(--srct-royal-700);}
@media (max-width:720px){
  .srct-shop-hero{padding:20px 0 16px;gap:14px;}
  .srct-shop-h1{font-size:30px;}
  .srct-shop-sub{padding-left:0;border-left:none;font-size:13px;width:100%;}
  .srct-shop-hero-stock{margin-left:0;}
}

/* Toolbar */
.srct-shop-toolbar{
  padding:24px 0 28px;border-top:1px solid var(--srct-rule-strong);
  display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;
}
.srct-shop-filter-pills{display:flex;gap:8px;flex-wrap:wrap;}
.srct-shop-pill{
  appearance:none;background:transparent;
  font:inherit;font-size:13px;font-weight:600;font-family:var(--srct-sans);
  padding:8px 16px;border-radius:999px;
  border:1px solid var(--srct-rule-strong);color:var(--srct-ink-soft);
  cursor:pointer;letter-spacing:0;
  transition:background .2s, color .2s, border-color .2s;
  display:inline-flex;align-items:center;gap:8px;
}
.srct-shop-pill .ct{
  font-family:var(--srct-mono);font-size:10px;letter-spacing:.08em;color:var(--srct-muted);font-weight:500;
}
.srct-shop-pill:hover{background:var(--srct-royal-50);border-color:var(--srct-royal-200);color:var(--srct-royal-700);}
.srct-shop-pill:hover .ct{color:var(--srct-royal-700);}
.srct-shop-pill.is-on{
  background:var(--srct-honey-500);color:var(--srct-ink);border-color:var(--srct-honey-500);
  box-shadow:0 8px 18px -10px rgba(232,184,58,.55);
}
.srct-shop-pill.is-on .ct{color:var(--srct-royal-900);font-weight:600;}
.srct-shop-toolbar-count{
  font-family:var(--srct-mono);font-size:11.5px;letter-spacing:.06em;color:var(--srct-muted);
  text-align:center;
}
.srct-shop-toolbar-count b{color:var(--srct-ink);font-weight:600;}
.srct-shop-sort{
  position:relative;display:inline-flex;align-items:center;gap:8px;
  font-family:var(--srct-mono);font-size:11.5px;letter-spacing:.06em;color:var(--srct-muted);
}
.srct-shop-sort-trigger{
  appearance:none;font:inherit;font-family:var(--srct-mono);font-size:12px;
  background:#fff;border:1px solid var(--srct-rule-strong);color:var(--srct-ink);
  padding:9px 14px;border-radius:99px;cursor:pointer;
  display:inline-flex;align-items:center;gap:8px;letter-spacing:.04em;
  transition:border-color .2s, background .2s;
}
.srct-shop-sort-trigger:hover{border-color:var(--srct-royal-200);background:var(--srct-royal-50);}
.srct-shop-sort-trigger b{color:var(--srct-royal-700);font-weight:600;}
.srct-shop-sort-trigger::after{content:"⌄";color:var(--srct-muted);margin-left:2px;font-size:12px;line-height:1;}
.srct-shop-sort-menu{
  position:absolute;right:0;top:calc(100% + 6px);min-width:220px;
  background:var(--srct-paper);border:1px solid var(--srct-rule);border-radius:12px;
  padding:6px;box-shadow:0 18px 40px -16px rgba(45,27,78,.3);
  opacity:0;transform:translateY(-6px);pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;z-index:5;
}
.srct-shop-sort.is-open .srct-shop-sort-menu{opacity:1;transform:translateY(0);pointer-events:auto;}
.srct-shop-sort-menu button{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:transparent;border:none;font:inherit;font-family:var(--srct-sans);font-size:13.5px;color:var(--srct-ink);
  padding:9px 12px;border-radius:8px;cursor:pointer;text-align:left;
}
.srct-shop-sort-menu button:hover{background:var(--srct-royal-50);color:var(--srct-royal-700);}
.srct-shop-sort-menu button.is-on{background:var(--srct-honey-50);color:var(--srct-honey-700);font-weight:600;}
.srct-shop-sort-menu button.is-on::after{content:"✓";color:var(--srct-honey-700);font-weight:700;}
@media (max-width:720px){
  .srct-shop-toolbar{grid-template-columns:1fr;gap:14px;}
  .srct-shop-toolbar-count{text-align:left;}
  .srct-shop-sort{justify-self:start;}
}

/* Grid */
.srct-shop-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
  padding:8px 0 80px;
}
@media (max-width:1023px){.srct-shop-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.srct-shop-grid{grid-template-columns:1fr;gap:20px;}}

.srct-shop-card{
  background:var(--srct-paper);border:1px solid var(--srct-rule);border-radius:14px;
  overflow:hidden;position:relative;display:flex;flex-direction:column;
  cursor:pointer;text-decoration:none;color:inherit;
  opacity:0;transform:translateY(20px);
  transition:opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1), box-shadow .35s, border-color .25s;
}
.srct-shop-card.is-in{opacity:1;transform:translateY(0);}
.srct-shop-card.is-hide{display:none;}
.srct-shop-card:hover{
  transform:translateY(-4px);
  box-shadow:0 30px 60px -28px rgba(45,27,78,.28);
  border-color:var(--srct-royal-200);
}
.srct-shop-card.is-coming:hover{border-color:var(--srct-honey-500);box-shadow:0 30px 60px -28px rgba(232,184,58,.35);}
.srct-shop-card.is-in:hover{transform:translateY(-4px);}
.srct-shop-stagger > .srct-shop-card.is-in:nth-child(1){transition-delay:.05s;}
.srct-shop-stagger > .srct-shop-card.is-in:nth-child(2){transition-delay:.15s;}
.srct-shop-stagger > .srct-shop-card.is-in:nth-child(3){transition-delay:.25s;}
.srct-shop-stagger > .srct-shop-card.is-in:nth-child(4){transition-delay:.35s;}
.srct-shop-stagger > .srct-shop-card.is-in:nth-child(5){transition-delay:.45s;}
.srct-shop-stagger > .srct-shop-card.is-in:nth-child(6){transition-delay:.55s;}
@media (prefers-reduced-motion:reduce){.srct-shop-card{opacity:1!important;transform:none!important;}}

.srct-shop-card-thumb{
  aspect-ratio:4/3;position:relative;overflow:hidden;
  background:linear-gradient(160deg,var(--srct-royal-50),var(--srct-honey-50));
  border-bottom:1px solid var(--srct-rule);
  display:grid;place-items:center;
  padding:12px;
}
/* Use contain so the whole product image is visible (no crop, no stretch).
   The gradient frame fills any letterbox area when the image isn't 4:3. */
.srct-shop-card-thumb img{
  width:100%;height:100%;object-fit:contain;display:block;
  transition:transform .5s cubic-bezier(.2,.7,.2,1);
}
.srct-shop-card:hover .srct-shop-card-thumb img{transform:scale(1.04);}
.srct-shop-card-thumb.dark{background:linear-gradient(160deg,var(--srct-royal-900),var(--srct-royal-700));}
.srct-shop-card-thumb.cream{background:linear-gradient(160deg,var(--srct-paper),var(--srct-royal-50));}
.srct-shop-card-mono{
  font-family:var(--srct-serif);font-style:italic;font-size:96px;line-height:1;
  color:var(--srct-royal-700);opacity:.4;
}
.srct-shop-card-thumb.dark .srct-shop-card-mono{color:var(--srct-honey-300);opacity:.5;}

.srct-shop-card-corner{position:absolute;top:14px;left:14px;z-index:3;display:flex;gap:6px;}
.srct-shop-tag{
  font-family:var(--srct-mono);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  padding:5px 10px;border-radius:99px;
  background:rgba(255,252,246,.92);border:1px solid var(--srct-rule);color:var(--srct-ink);
}
.srct-shop-tag.honey{background:var(--srct-honey-500);color:var(--srct-royal-900);border-color:transparent;}
.srct-shop-tag.dark{background:var(--srct-royal-900);color:var(--srct-honey-300);border-color:transparent;}

/* Coming Soon overlay */
.srct-shop-coming-mask{
  position:absolute;inset:0;
  background:linear-gradient(160deg,rgba(45,27,78,.78),rgba(91,46,146,.65));
  display:grid;place-items:center;z-index:2;backdrop-filter:blur(2px);
}
.srct-shop-stamp{
  background:rgba(255,252,246,.92);border:1.5px solid var(--srct-honey-500);
  padding:10px 18px;border-radius:99px;
  font-family:var(--srct-mono);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--srct-royal-900);display:inline-flex;align-items:center;gap:10px;
  box-shadow:0 12px 26px -10px rgba(0,0,0,.4);transform:rotate(-4deg);
}
.srct-shop-stamp .dot{
  width:8px;height:8px;border-radius:99px;background:var(--srct-honey-500);
  animation:srct-shop-pulse 2.2s ease-in-out infinite;
}
.srct-shop-stamp b{color:var(--srct-honey-700);letter-spacing:.18em;}
@keyframes srct-shop-pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.5;transform:scale(.8);}}

/* Card body */
.srct-shop-card-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;flex:1;}
.srct-shop-card-cat{
  font-family:var(--srct-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--srct-muted);font-weight:600;
}
.srct-shop-card-title{
  font-family:var(--srct-serif);font-weight:400;font-size:22px;line-height:1.15;letter-spacing:-.005em;
  margin:0;color:var(--srct-ink);
}
.srct-shop-card-zh{font-family:var(--srct-zh);font-size:13.5px;color:var(--srct-muted);margin:0;letter-spacing:.04em;}

.srct-shop-price-block{
  margin-top:auto;padding-top:14px;border-top:1px dashed var(--srct-rule-strong);
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
}
.srct-shop-price-main{
  font-family:var(--srct-serif);font-weight:400;font-size:32px;line-height:1;
  color:var(--srct-royal-900);letter-spacing:-.005em;
}
.srct-shop-price-display{letter-spacing:.02em;}
.srct-display-price{font-family:var(--srct-serif);color:var(--srct-royal-900);letter-spacing:.02em;}
.srct-shop-price-main .cur{
  font-family:var(--srct-mono);font-size:11px;color:var(--srct-muted);font-weight:500;
  margin-left:4px;letter-spacing:.06em;
}
.srct-shop-price-strike{
  font-family:var(--srct-serif);font-style:italic;font-size:17px;color:var(--srct-muted);position:relative;
}
.srct-shop-price-strike::after{
  content:"";position:absolute;left:-4%;right:-4%;top:52%;height:1.5px;
  background:var(--srct-honey-500);transform:rotate(-6deg);
}
.srct-shop-price-cny{
  font-family:var(--srct-mono);font-size:11.5px;color:var(--srct-muted);letter-spacing:.04em;
  width:100%;margin-top:-4px;
}
.srct-shop-price-soon{
  font-family:var(--srct-mono);font-size:11.5px;color:var(--srct-honey-700);font-weight:600;letter-spacing:.06em;
}
.srct-shop-card-cta{margin-top:14px;width:100%;justify-content:center;padding:13px;}
.srct-shop-card-cta:disabled{
  background:var(--srct-rule-strong);color:var(--srct-muted-2);box-shadow:none;cursor:not-allowed;
}
.srct-shop-card-cta:disabled::after{content:"";}

/* Empty state */
.srct-shop-empty{
  display:none;background:var(--srct-paper);border:1px dashed var(--srct-rule-strong);border-radius:18px;
  padding:72px 36px;text-align:center;max-width:600px;margin:0 auto 80px;
}
.srct-shop-empty.is-shown{display:block;}
.srct-shop-empty .icon{
  width:60px;height:60px;margin:0 auto 22px;border-radius:50%;
  background:var(--srct-royal-50);color:var(--srct-royal-700);
  display:grid;place-items:center;
  font-family:var(--srct-serif);font-style:italic;font-size:30px;line-height:1;
}
.srct-shop-empty h3{
  font-family:var(--srct-serif);font-weight:400;font-size:28px;line-height:1.1;letter-spacing:-.005em;
  margin:0 0 8px;color:var(--srct-ink);
}
.srct-shop-empty h3 em{font-style:italic;color:var(--srct-royal-700);}
.srct-shop-empty p{font-size:14.5px;color:var(--srct-muted);margin:0 0 16px;}
.srct-shop-empty-reset{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--srct-mono);font-size:12px;color:var(--srct-royal-700);font-weight:600;letter-spacing:.06em;
  padding:8px 14px;border-radius:99px;border:1px solid var(--srct-rule-strong);background:#fff;
  transition:background .2s,border-color .2s;cursor:pointer;
}
.srct-shop-empty-reset:hover{background:var(--srct-royal-50);border-color:var(--srct-royal-200);}
.srct-shop-empty-reset::after{content:"→";transition:transform .25s ease;margin-left:4px;}
.srct-shop-empty-reset:hover::after{transform:translateX(3px);}

/* Partners strip (inline fallback when partners partial isn't loaded) */
.srct-shop-partners-wrap{padding:0 0 80px;}
.srct-shop-partners-strip{
  background:#1A1030;color:var(--srct-paper);
  margin:0 -36px;padding:48px 36px;position:relative;overflow:hidden;border-radius:0;
}
.srct-shop-partners-strip::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(50% 70% at 0% 50%,rgba(232,184,58,.14),transparent 70%),
             radial-gradient(50% 70% at 100% 50%,rgba(123,77,189,.32),transparent 70%);
}
.srct-shop-partners-inner{
  position:relative;z-index:1;max-width:1280px;margin:0 auto;
  display:flex;align-items:center;gap:32px;flex-wrap:wrap;
}
.srct-shop-partners-copy{flex:1;min-width:280px;}
.srct-shop-partners-copy .lbl{
  font-family:var(--srct-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--srct-honey-300);font-weight:600;display:block;margin-bottom:8px;
}
.srct-shop-partners-copy p{
  font-family:var(--srct-serif);font-style:italic;font-weight:400;
  font-size:clamp(22px,2.4vw,30px);line-height:1.25;letter-spacing:-.005em;
  margin:0;color:var(--srct-paper);max-width:680px;
}
@media (max-width:720px){.srct-shop-partners-strip{margin:0 -20px;padding:36px 20px;}}

/* ============================================================
 * Cart page (WooCommerce cart override)
 * ============================================================ */
.srct-cart-page{padding-top:8px;}
.srct-cart-hero{padding:40px 0 12px;display:flex;align-items:end;gap:24px;flex-wrap:wrap;}
.srct-cart-h1{
  font-family:var(--srct-serif);font-weight:400;font-size:clamp(40px,5vw,60px);line-height:1;letter-spacing:-.01em;
  margin:0;color:var(--srct-ink);display:inline-flex;align-items:baseline;gap:14px;
}
.srct-cart-h1 em{font-style:italic;color:var(--srct-royal-700);}
.srct-cart-h1 .zh-inline{
  font-family:var(--srct-zh);font-style:normal;font-size:.38em;letter-spacing:.16em;color:var(--srct-muted);align-self:center;
}
.srct-cart-hero-meta{
  margin-left:auto;font-family:var(--srct-mono);font-size:12px;letter-spacing:.1em;color:var(--srct-muted);padding-bottom:6px;
}
.srct-cart-hero-meta b{color:var(--srct-royal-700);font-weight:700;}

.srct-cart-layout{
  display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start;
  padding:32px 0 80px;
}
@media (max-width:1023px){.srct-cart-layout{grid-template-columns:1fr;gap:32px;}}
.srct-cart-summary-wrap{position:sticky;top:84px;}
@media (max-width:1023px){.srct-cart-summary-wrap{position:relative;top:0;}}

/* Items list */
.srct-cart-items{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--srct-rule-strong);}
.srct-cart-item{
  display:grid;grid-template-columns:96px 1fr auto;gap:20px;
  padding:24px 0;border-bottom:1px solid var(--srct-rule-strong);position:relative;
  transition:opacity .35s ease, transform .35s ease;
}
.srct-cart-item.is-removing{opacity:0;transform:translateX(-12px);pointer-events:none;}
.srct-cart-item-thumb{
  width:96px;height:96px;border-radius:10px;overflow:hidden;
  background:linear-gradient(160deg,var(--srct-royal-50),var(--srct-honey-50));
  border:1px solid var(--srct-rule);display:grid;place-items:center;
}
.srct-cart-item-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.srct-cart-item-info{display:flex;flex-direction:column;gap:8px;min-width:0;}
.srct-cart-item-info h4{
  font-family:var(--srct-serif);font-weight:400;font-size:20px;line-height:1.18;letter-spacing:-.005em;
  margin:0;color:var(--srct-ink);
  display:flex;align-items:flex-start;gap:14px;justify-content:space-between;
}
.srct-cart-item-info h4 em{font-style:italic;color:var(--srct-royal-700);}
.srct-cart-remove{
  background:transparent;border:1px solid var(--srct-rule-strong);color:var(--srct-muted);
  width:28px;height:28px;border-radius:99px;display:grid;place-items:center;
  font-size:14px;line-height:1;flex-shrink:0;cursor:pointer;
  transition:background .2s,color .2s,border-color .2s,transform .2s;
}
.srct-cart-remove:hover{background:#B23A48;color:#fff;border-color:#B23A48;transform:rotate(90deg);}
.srct-cart-item-zh{font-family:var(--srct-zh);font-size:13px;color:var(--srct-muted);margin:0;letter-spacing:.04em;}
.srct-cart-item-badges{display:flex;gap:6px;flex-wrap:wrap;}
.srct-cart-item-badges .b{
  font-family:var(--srct-mono);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--srct-honey-700);padding:3px 8px;border-radius:99px;
  border:1px solid var(--srct-honey-500);background:var(--srct-honey-50);
}
.srct-cart-item-price{
  font-family:var(--srct-serif);font-weight:400;font-size:24px;color:var(--srct-honey-700);line-height:1;letter-spacing:-.005em;
}
.srct-cart-item-price .cur{
  font-family:var(--srct-mono);font-size:11px;color:var(--srct-muted);font-weight:500;margin-left:4px;letter-spacing:.06em;
}
.srct-cart-item-tag{
  font-family:var(--srct-mono);font-size:11px;letter-spacing:.06em;color:var(--srct-royal-700);font-weight:600;
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 11px;border-radius:99px;
  background:var(--srct-honey-50);border:1px dashed var(--srct-honey-500);align-self:flex-start;
}
.srct-cart-item-tag::before{content:"⚑";color:var(--srct-honey-700);font-size:12px;}
.srct-cart-item-controls{display:flex;flex-direction:column;align-items:flex-end;gap:10px;}
.srct-cart-qty{
  display:inline-flex;align-items:center;gap:0;
  background:var(--srct-paper);border:1px solid var(--srct-rule-strong);border-radius:99px;padding:3px;
}
.srct-cart-qty button{
  width:30px;height:30px;border-radius:99px;background:transparent;border:none;
  display:grid;place-items:center;color:var(--srct-royal-700);font-weight:700;cursor:pointer;
  transition:background .2s,color .2s;
}
.srct-cart-qty button:hover:not(:disabled){background:var(--srct-royal-50);}
.srct-cart-qty button:disabled{color:var(--srct-muted-2);cursor:not-allowed;}
.srct-cart-qty .n{
  min-width:30px;text-align:center;
  font-family:var(--srct-serif);font-weight:400;font-size:18px;color:var(--srct-ink);
}
.srct-cart-subtotal{
  font-family:var(--srct-serif);font-weight:400;font-size:24px;color:var(--srct-ink);line-height:1;letter-spacing:-.005em;
}
.srct-cart-subtotal .cur{
  font-family:var(--srct-mono);font-size:11px;color:var(--srct-muted);font-weight:500;margin-left:4px;letter-spacing:.06em;
}
.srct-cart-qty-note{
  font-family:var(--srct-mono);font-size:10.5px;color:#B23A48;letter-spacing:.04em;text-align:right;display:none;
}
.srct-cart-qty-note.is-shown{display:block;}
@media (max-width:720px){
  .srct-cart-item{grid-template-columns:72px 1fr;gap:14px;}
  .srct-cart-item-thumb{width:72px;height:72px;}
  .srct-cart-item-controls{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;}
}

/* Summary card */
.srct-cart-summary{
  background:var(--srct-paper);border:1px solid var(--srct-honey-500);border-radius:14px;
  padding:24px 26px;
  box-shadow:0 18px 40px -32px rgba(45,27,78,.2);
  position:relative;overflow:hidden;
}
.srct-cart-summary::before{
  content:"";position:absolute;top:-60px;right:-60px;width:180px;height:180px;border-radius:50%;
  background:radial-gradient(circle,var(--srct-honey-200),transparent 65%);opacity:.5;filter:blur(8px);pointer-events:none;
}
.srct-cart-summary-h2{
  font-family:var(--srct-serif);font-weight:400;font-size:22px;line-height:1.1;letter-spacing:-.005em;
  margin:0 0 4px;color:var(--srct-ink);
  display:flex;align-items:baseline;gap:12px;
}
.srct-cart-summary-h2 em{font-style:italic;color:var(--srct-royal-700);}
.srct-cart-summary-rows{padding:18px 0 0;display:flex;flex-direction:column;gap:0;position:relative;z-index:1;}
.srct-cart-summary-rows .sr{display:flex;justify-content:space-between;padding:10px 0;font-size:14px;color:var(--srct-muted);}
.srct-cart-summary-rows .sr b{color:var(--srct-ink);font-weight:600;}
.srct-cart-summary-rows .sr .calc{
  font-family:var(--srct-mono);font-size:11.5px;letter-spacing:.04em;color:var(--srct-royal-700);font-weight:600;
}
.srct-cart-summary-rows .sr.total{
  padding:14px 0 6px;border-top:2px solid var(--srct-ink);margin-top:6px;align-items:baseline;
}
.srct-cart-summary-rows .sr.total .lbl{
  font-family:var(--srct-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--srct-muted);font-weight:600;
}
.srct-cart-summary-rows .sr.total .val{
  font-family:var(--srct-serif);font-weight:400;font-size:34px;line-height:1;color:var(--srct-royal-900);letter-spacing:-.005em;
}
.srct-cart-summary-rows .sr.total .val .cur,
.srct-cart-summary-rows .sr.total .val .amount + *{
  font-family:var(--srct-mono);font-size:12px;color:var(--srct-muted);font-weight:500;margin-left:6px;letter-spacing:.06em;
}
.srct-cart-preorder{
  margin-top:18px;padding:16px 18px;
  background:var(--srct-honey-50);border:1px solid var(--srct-honey-500);border-radius:10px;
  position:relative;z-index:1;
}
.srct-cart-preorder h5{
  font-family:var(--srct-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--srct-honey-700);
  margin:0 0 6px;font-weight:700;display:inline-flex;align-items:center;gap:8px;
}
.srct-cart-preorder h5::before{content:"⚑";color:var(--srct-honey-700);font-size:13px;}
.srct-cart-preorder p{font-size:13.5px;color:var(--srct-ink-soft);line-height:1.55;margin:0;}
.srct-cart-preorder p b{color:var(--srct-ink);font-weight:600;}
.srct-cart-summary-cta{
  margin-top:18px;width:100%;justify-content:center;padding:16px;position:relative;z-index:1;
  font-family:var(--srct-serif);font-style:italic;font-weight:400;font-size:18px;letter-spacing:.005em;
}
.srct-cart-summary-cta::after{font-family:var(--srct-sans);font-style:normal;font-weight:700;}
.srct-cart-continue{
  margin-top:14px;text-align:center;
  font-family:var(--srct-mono);font-size:11.5px;letter-spacing:.06em;color:var(--srct-royal-700);
  display:flex;align-items:center;justify-content:center;gap:6px;position:relative;z-index:1;
}
.srct-cart-continue a{font-weight:600;}
.srct-cart-continue a::before{content:"←";display:inline-block;margin-right:4px;transition:transform .25s ease;}
.srct-cart-continue a:hover::before{transform:translateX(-3px);}

/* Empty state */
.srct-cart-empty{
  display:none;background:var(--srct-paper);border:1px dashed var(--srct-rule-strong);border-radius:18px;
  padding:80px 36px;text-align:center;max-width:640px;margin:32px auto 80px;
}
.srct-cart-empty.is-shown{display:block;}
.srct-cart-empty-ic{
  width:88px;height:88px;margin:0 auto 24px;border-radius:50%;
  background:var(--srct-royal-50);color:var(--srct-royal-700);
  display:grid;place-items:center;position:relative;
}
.srct-cart-empty-ic svg{width:42px;height:42px;}
.srct-cart-empty-ic::before{
  content:"";position:absolute;inset:-6px;border-radius:50%;border:1px dashed var(--srct-royal-200);
}
.srct-cart-empty h3{
  font-family:var(--srct-serif);font-weight:400;font-size:32px;line-height:1.1;letter-spacing:-.005em;
  margin:0 0 8px;color:var(--srct-ink);
}
.srct-cart-empty h3 em{font-style:italic;color:var(--srct-royal-700);}
.srct-cart-empty p{font-size:15px;color:var(--srct-muted);margin:0 0 24px;}
.srct-cart-empty .srct-btn{padding:14px 28px;}

/* Trust row */
.srct-cart-trust{
  padding:24px 0 60px;text-align:center;
  font-family:var(--srct-mono);font-size:11.5px;letter-spacing:.1em;color:var(--srct-muted);
  border-top:1px solid var(--srct-rule);
}
.srct-cart-trust b{color:var(--srct-ink);font-weight:600;}

/* Sticky CTA (mobile) */
.srct-cart-sticky{
  position:fixed;bottom:0;left:0;right:0;z-index:40;display:none;
  background:rgba(255,252,246,.96);backdrop-filter:blur(12px);
  border-top:1px solid var(--srct-rule-strong);
  padding:12px 20px env(safe-area-inset-bottom);
  align-items:center;gap:14px;
  box-shadow:0 -10px 30px -15px rgba(45,27,78,.25);
}
.srct-cart-sticky .sc-price{display:flex;flex-direction:column;line-height:1;}
.srct-cart-sticky .sc-price b{font-family:var(--srct-serif);font-weight:400;font-size:22px;color:var(--srct-royal-900);}
.srct-cart-sticky .sc-price small{
  font-family:var(--srct-mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--srct-muted);margin-top:3px;font-weight:500;
}
.srct-cart-sticky .srct-btn{flex:1;padding:14px;font-size:14px;justify-content:center;}
@media (min-width:1024px){.srct-cart-sticky{display:none!important;}}

/* Undo toast */
.srct-cart-undo{
  position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(100px);
  background:var(--srct-ink);color:var(--srct-paper);
  padding:12px 16px;border-radius:99px;border:1px solid var(--srct-honey-500);
  display:inline-flex;align-items:center;gap:14px;
  font-family:var(--srct-mono);font-size:12px;letter-spacing:.06em;
  z-index:45;box-shadow:0 18px 40px -16px rgba(0,0,0,.5);
  opacity:0;pointer-events:none;
  transition:opacity .3s ease, transform .35s cubic-bezier(.34,1.4,.5,1);
}
.srct-cart-undo.is-on{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto;}
.srct-cart-undo b{color:var(--srct-honey-300);font-weight:700;}
.srct-cart-undo button{
  background:var(--srct-honey-500);color:var(--srct-ink);border:none;
  font:inherit;font-weight:700;padding:6px 12px;border-radius:99px;cursor:pointer;
}
.srct-cart-undo button:hover{background:var(--srct-honey-300);}

/* Nav cart pill */
.srct-nav-cart{
  position:relative;display:inline-flex;align-items:center;gap:8px;
  padding:8px 14px 8px 12px;border-radius:99px;
  background:var(--srct-ink);color:var(--srct-paper);
  font-family:var(--srct-mono);font-size:12px;letter-spacing:.06em;font-weight:600;
  transition:background .2s;text-decoration:none;
}
.srct-nav-cart:hover{background:var(--srct-royal-900);color:var(--srct-paper);}
.srct-nav-cart svg{width:16px;height:16px;}
.srct-nav-cart .badge{
  background:var(--srct-honey-500);color:var(--srct-ink);
  min-width:18px;height:18px;border-radius:99px;
  display:inline-grid;place-items:center;
  font-size:10px;font-weight:700;letter-spacing:0;padding:0 5px;
}
.srct-nav-account{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:99px;
  background:transparent;color:var(--srct-ink);
  border:1px solid var(--srct-rule);
  transition:background .2s, color .2s, border-color .2s;
  text-decoration:none;
}
.srct-nav-account:hover{background:var(--srct-ink);color:var(--srct-paper);border-color:var(--srct-ink);}
.srct-nav-account svg{width:16px;height:16px;}
