/* Onelys public stylesheet. Theme tokens (--c-*, --font-*, --radius, --anim-scale, --space-scale) are injected by the server. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--c-bg);color:var(--c-text);font-family:var(--font-body);font-size:1rem;line-height:1.6;min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}
body.rtl,[dir=rtl]{font-family:var(--font-rtl)}
main{flex:1}
img,video{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;line-height:1.15;margin:0 0 .5em;letter-spacing:.01em}
[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3,[dir=rtl] h4{font-family:var(--font-rtl);font-weight:500;letter-spacing:0}
.h4{font-size:1.15rem;margin-top:1.5rem}
p{margin:0 0 1em}
code,.code-display{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.12em}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;inset-inline-start:1rem;top:-100px;background:var(--c-accent-strong);color:var(--c-text-dark);padding:.5rem 1rem;z-index:100;border-radius:var(--radius)}
.skip-link:focus{top:1rem}
:focus-visible{outline:2px solid var(--c-accent-strong);outline-offset:3px}
.container{width:min(100% - 2.5rem,1180px);margin-inline:auto}
.container.narrow{max-width:760px}
.align-center{text-align:center}
.align-start{text-align:start}
.muted{color:var(--c-text-muted)}
.small{font-size:.875rem}
.eyebrow{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--c-accent);margin-bottom:1rem}
[dir=rtl] .eyebrow{letter-spacing:.05em}
.link{color:var(--c-accent-strong);text-decoration:underline;text-underline-offset:.2em}
.inline-alert{display:inline-block}

/* Buttons */
.btn{--btn-bg:transparent;--btn-fg:var(--c-text);--btn-bd:var(--c-accent);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.6rem;border:1px solid var(--btn-bd);border-radius:var(--radius);background:var(--btn-bg);color:var(--btn-fg);font:inherit;font-size:.92rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background calc(.25s*var(--anim-scale)),color calc(.25s*var(--anim-scale)),transform calc(.25s*var(--anim-scale)),border-color calc(.25s*var(--anim-scale))}
[dir=rtl] .btn{letter-spacing:0;text-transform:none;font-size:1rem}
.btn:hover{transform:translateY(-1px)}
.btn--primary{--btn-bg:var(--c-accent-strong);--btn-fg:var(--c-text-dark);--btn-bd:var(--c-accent-strong)}
.btn--primary:hover{--btn-bg:var(--c-accent)}
.btn--outline{--btn-bd:var(--c-accent)}
.btn--outline:hover{--btn-bg:rgba(255,255,255,.06)}
.btn--ghost{--btn-bd:transparent;--btn-fg:var(--c-accent-strong);text-decoration:underline;text-underline-offset:.25em}
.btn--small{padding:.55rem 1.1rem;font-size:.8rem}
.btn--tiny{padding:.3rem .7rem;font-size:.72rem}
.btn--large{padding:1rem 2.2rem;font-size:1rem}
.btn--block{width:100%}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}
.btn.is-busy{opacity:.8;pointer-events:none}
.btn.is-busy span{visibility:hidden}
.btn.is-busy::after{content:"";position:absolute;width:1.1rem;height:1.1rem;border:2px solid currentColor;border-inline-end-color:transparent;border-radius:50%;animation:spin 1s linear infinite}
.btn{position:relative}

/* Header */
.preview-banner{background:#c9a227;color:#1b1b1b;padding:.5rem 1rem;display:flex;gap:1rem;align-items:center;justify-content:center;font-size:.9rem}
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--c-bg) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--c-border)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:72px;padding-block:.5rem}
.brand{text-decoration:none;display:inline-flex;align-items:center}
.brand__word{font-family:var(--font-display);font-size:1.45rem;letter-spacing:.42em;color:var(--c-accent-strong);padding-inline-start:.42em}
.brand__word--small{font-size:1.15rem}
.brand__logo{height:36px;width:auto}
.menu-toggle{display:none;background:none;border:1px solid var(--c-border);border-radius:var(--radius);width:44px;height:44px;padding:0;cursor:pointer;color:var(--c-text);position:relative;flex:none;box-sizing:border-box;padding-top:15px}
.menu-toggle__bar{display:block;width:20px;height:1.5px;background:currentColor;margin:0 auto 7px;transition:transform .25s}
.menu-toggle__input:focus-visible+.menu-toggle{outline:2px solid var(--c-accent-strong);outline-offset:3px}
.menu-toggle__input:checked+.menu-toggle .menu-toggle__bar:first-child{transform:translateY(4.25px) rotate(45deg)}
.menu-toggle__input:checked+.menu-toggle .menu-toggle__bar:last-child{transform:translateY(-4.25px) rotate(-45deg)}
.nav{display:flex;align-items:center;gap:2rem;flex:1;justify-content:flex-end}
.nav__list{list-style:none;margin:0;padding:0;display:flex;gap:1.75rem;align-items:center}
.nav__item{position:relative}
.nav__item>a{text-decoration:none;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;color:var(--c-text);padding:.5rem 0;display:inline-block;border-bottom:1px solid transparent}
[dir=rtl] .nav__item>a{letter-spacing:0;text-transform:none;font-size:1rem}
.nav__item>a:hover{border-bottom-color:var(--c-accent)}
.nav__sub{list-style:none;margin:0;padding:.5rem 0;position:absolute;top:100%;inset-inline-start:0;min-width:200px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);display:none}
.nav__item:hover .nav__sub,.nav__item:focus-within .nav__sub{display:block}
.nav__sub a{display:block;padding:.5rem 1rem;text-decoration:none;font-size:.9rem}
.nav__sub a:hover{background:rgba(255,255,255,.05)}
.nav__actions{display:flex;align-items:center;gap:1rem}
.nav__order svg{vertical-align:-3px;margin-inline-end:.35rem}
.lang-switch{position:relative}
.lang-switch__btn{display:inline-flex;align-items:center;gap:.4rem;background:none;border:1px solid var(--c-border);border-radius:var(--radius);color:var(--c-text);padding:.45rem .8rem;font:inherit;font-size:.85rem;cursor:pointer}
.lang-switch__list{list-style:none;margin:.4rem 0 0;padding:.4rem 0;position:absolute;inset-inline-end:0;top:100%;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);min-width:150px;display:none;z-index:60}
.lang-switch.is-open .lang-switch__list{display:block}
.lang-switch__list a{display:block;padding:.45rem 1rem;text-decoration:none;font-size:.95rem}
.lang-switch__list a.is-active{color:var(--c-accent-strong);font-weight:600}
.lang-switch__list a:hover{background:rgba(255,255,255,.05)}

/* Sections */
.section{padding-block:calc(5rem*var(--space-scale));position:relative}
.section--bg-default{background:var(--c-bg)}
.section--bg-deep{background:var(--c-bg-deep)}
.section--bg-surface{background:var(--c-surface)}
.section--bg-light{background:var(--c-surface-light);color:var(--c-text-dark)}
.section--bg-light .eyebrow{color:var(--c-bg)}
.section--bg-light .btn--primary{--btn-bg:var(--c-bg);--btn-fg:var(--c-text);--btn-bd:var(--c-bg)}
.section--bg-light .btn--outline,.section--bg-light .btn--ghost{--btn-fg:var(--c-text-dark);--btn-bd:var(--c-text-dark)}
.section--draft{outline:2px dashed #c9a227;outline-offset:-2px}
.section__title{font-size:clamp(1.9rem,4vw,2.8rem);margin-bottom:.6em}
.section__subtitle{font-size:1.1rem;color:var(--c-text-muted);max-width:60ch;margin-inline:auto}
.align-start .section__subtitle{margin-inline:0}
.section--bg-light .section__subtitle{color:#4a5e58}
.page-header{margin-bottom:2.5rem;text-align:center}
.page-title{font-size:clamp(2rem,4.5vw,3rem)}
.hero{min-height:min(78vh,760px);display:grid;place-items:center;text-align:center;position:relative}
.hero__content{position:relative;z-index:2;max-width:820px}
.hero__title{font-size:clamp(2.4rem,6vw,4.6rem);margin-bottom:.4em;font-weight:400}
.hero__subtitle{font-size:clamp(1.05rem,1.6vw,1.3rem);color:var(--c-text-muted);max-width:56ch;margin-inline:auto}
.hero__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}
/* Hero text block position: bottom edge (default) or centred - Admin > Pages > hero section */
.hero--pos-bottom .hero{align-items:end;padding-top:3rem}
.align-start .hero__actions{justify-content:flex-start}
/* Hero background media: full-width, behind the content; the overlay class sets how much it is darkened */
.section--hero{overflow:hidden}
.hero__media,.hero__video{position:absolute;inset:0;z-index:0}
.hero__media img,.hero__video video{width:100%;height:100%;object-fit:cover}
.section--hero::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 30%,var(--c-bg-deep) 100%);pointer-events:none;z-index:1}
.hero--has-media.hero--overlay-light::after{background:linear-gradient(rgba(0,0,0,.15),rgba(0,0,0,.35))}
.hero--has-media.hero--overlay-medium::after{background:linear-gradient(rgba(0,0,0,.35),rgba(0,0,0,.6))}
.hero--has-media.hero--overlay-strong::after{background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.8))}
.hero--has-media .hero__subtitle{color:var(--c-text)}
.section--hero .container{position:relative;z-index:2}
/* "Edit" tag shown to signed-in editors only */
.edit-tag{position:absolute;top:.75rem;inset-inline-end:.75rem;z-index:5;background:#c9a227;color:#1b1b1b;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;padding:.3rem .6rem;border-radius:var(--radius);opacity:.85;font-family:var(--font-body)}
.edit-tag:hover{opacity:1}
[dir=rtl] .edit-tag{letter-spacing:0;text-transform:none}
.split{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.layout-media-end .split__media{order:2}
.split__media img{border-radius:var(--radius);box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.ring-placeholder{aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fafafa 0,#c7d0cc 35%,#6f7d78 60%,#2b3a36 100%);display:grid;place-items:center;max-width:420px;margin-inline:auto;box-shadow:0 30px 80px -30px rgba(0,0,0,.7)}
.ring-placeholder span{width:58%;height:58%;border-radius:50%;background:var(--c-bg);box-shadow:inset 0 10px 30px rgba(0,0,0,.5)}
.ring-placeholder--large{max-width:560px}
.ring-placeholder--thumb{width:72px;height:72px}
.ring-placeholder--thumb span{width:50%;height:50%}
.features{list-style:none;margin:2.5rem 0 0;padding:0;display:grid;gap:2rem;counter-reset:f}
.features.cols-2{grid-template-columns:repeat(2,1fr)}
.features.cols-3{grid-template-columns:repeat(3,1fr)}
.features.cols-4{grid-template-columns:repeat(4,1fr)}
.feature{padding:2rem;border:1px solid var(--c-border);border-radius:var(--radius);background:rgba(255,255,255,.02);position:relative}
.feature__num{position:absolute;top:1.2rem;inset-inline-end:1.4rem;font-family:var(--font-display);color:var(--c-accent);opacity:.6;font-size:1.2rem}
.feature .icon{color:var(--c-accent);margin-bottom:1rem}
.feature__title{font-size:1.3rem}
.feature__body{color:var(--c-text-muted);margin:0}
.section--bg-light .feature__body{color:#4a5e58}
.cta{text-align:center}
.verify-entry{text-align:center}
.verify-entry__icon{color:var(--c-accent);margin-bottom:1rem}
.verify-entry__form{display:flex;gap:.75rem;justify-content:center;max-width:520px;margin:1.5rem auto 0;flex-wrap:wrap}
.verify-entry__form .input{flex:1 1 240px}
.faq-list{margin-top:1.5rem;border-top:1px solid var(--c-border)}
.faq-item{border-bottom:1px solid var(--c-border)}
.faq-item summary{cursor:pointer;padding:1.1rem 0;font-family:var(--font-display);font-size:1.2rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
[dir=rtl] .faq-item summary{font-family:var(--font-rtl);font-size:1.1rem}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";color:var(--c-accent);font-size:1.4rem;transition:transform .25s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item .prose{padding-bottom:1.2rem}
.gallery{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.gallery img{border-radius:var(--radius);aspect-ratio:1;object-fit:cover;width:100%}
.gallery--thumbs{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));margin-top:1rem}
.video-frame{position:relative;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:#000;margin-top:1.5rem}
.video-frame iframe,.video-frame video{position:absolute;inset:0;width:100%;height:100%;border:0}
.prose{line-height:1.75;font-size:1.02rem}
.prose--lead{font-size:1.15rem}
.prose p{margin-bottom:1.1em}
.prose h2,.prose h3,.prose h4{margin-top:1.8em}
.prose h3{font-size:1.5rem}
.prose a{color:var(--c-accent-strong)}
.prose ul,.prose ol{padding-inline-start:1.4em}
.prose blockquote{border-inline-start:2px solid var(--c-accent);margin:1.5em 0;padding-inline-start:1em;color:var(--c-text-muted)}
.prose hr{border:0;border-top:1px solid var(--c-border);margin:2em 0}
.check-list{list-style:none;padding:0;margin:0 0 1.5rem}
.check-list li{padding-inline-start:1.6em;position:relative;margin-bottom:.4em}
.check-list li::before{content:"";position:absolute;inset-inline-start:0;top:.55em;width:.5em;height:.5em;border:1px solid var(--c-accent);transform:rotate(45deg)}

/* Product */
.product__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:4rem;align-items:start}
.product__image{border-radius:var(--radius);width:100%}
.product__title{font-size:clamp(2rem,4vw,3rem)}
.product__lead{font-size:1.15rem;color:var(--c-text-muted)}
.price{font-family:var(--font-display);font-size:1.6rem;color:var(--c-accent-strong);letter-spacing:.05em}
.price--large{font-size:2rem}
.availability{font-size:.85rem;letter-spacing:.1em;text-transform:uppercase}
[dir=rtl] .availability{letter-spacing:0;text-transform:none}
.availability.is-ok{color:var(--c-success)}
.availability.is-low{color:#e6c87a}
.availability.is-out{color:var(--c-danger)}
.product__notice{font-size:.9rem;color:var(--c-text-muted);border-inline-start:2px solid var(--c-accent);padding-inline-start:1rem;margin:1.5rem 0}
.accordion{margin-top:2rem;border-top:1px solid var(--c-border)}
.back-link{margin:0 0 1.5rem;font-size:.9rem}
.back-link .link{color:var(--c-text-muted)}
.back-link .link:hover{color:var(--c-accent-strong)}

/* Rings catalogue: one card per ring (picture, name, short text, price, availability) */
.rings .page-header{margin-bottom:1rem}
.rings .prose--lead.narrow{max-width:46rem;margin-inline:auto}
.rings-grid{list-style:none;margin:2.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:2rem}
.ring-card{position:relative;display:flex;flex-direction:column;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);overflow:hidden;transition:transform .35s,border-color .35s,box-shadow .35s}
.ring-card:hover,.ring-card:focus-within{transform:translateY(-4px);border-color:var(--c-accent);box-shadow:0 30px 60px -40px rgba(0,0,0,.8)}
.ring-card__media{display:block;aspect-ratio:1;background:var(--c-bg);overflow:hidden}
.ring-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.ring-card:hover .ring-card__media img{transform:scale(1.04)}
.ring-card__media .ring-placeholder{max-width:60%;margin:20% auto;box-shadow:none}
.ring-card__body{display:flex;flex-direction:column;gap:.6rem;padding:1.5rem;flex:1}
.ring-card__title{font-size:1.45rem;margin:0;line-height:1.2}
.ring-card__title a{color:inherit;text-decoration:none}
.ring-card__title a::after{content:"";position:absolute;inset:0}
.ring-card__lead{color:var(--c-text-muted);margin:0;flex:1;font-size:.95rem}
.ring-card__footer{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-top:.4rem}
.ring-card .price{font-size:1.35rem;margin:0}
.ring-card__cta{align-self:flex-start;position:relative;z-index:1}
.ring-card.is-out .ring-card__media img{filter:grayscale(.6);opacity:.7}
.summary__picture{display:block;margin-bottom:1rem}
.summary__image{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius);display:block}
.summary__picture .ring-placeholder{max-width:100%}
.status-card__item{padding-bottom:1rem;border-bottom:1px solid var(--c-border);margin-top:0}

/* Forms */
.form{display:flex;flex-direction:column;gap:1.1rem}
.form--narrow{max-width:420px;margin-inline:auto}
.form__group{border:1px solid var(--c-border);border-radius:var(--radius);padding:1.5rem;margin:0;display:flex;flex-direction:column;gap:1rem}
.form__legend{font-family:var(--font-display);font-size:1.3rem;padding:0 .5rem;display:flex;align-items:center;gap:.6rem}
[dir=rtl] .form__legend{font-family:var(--font-rtl);font-size:1.15rem}
.step{display:inline-grid;place-items:center;width:1.7rem;height:1.7rem;border:1px solid var(--c-accent);border-radius:50%;font-family:var(--font-body);font-size:.85rem}
.field{display:flex;flex-direction:column;gap:.4rem}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field__label{font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--c-text-muted)}
[dir=rtl] .field__label{letter-spacing:0;text-transform:none;font-size:.95rem}
.field__help{font-size:.82rem;color:var(--c-text-muted);margin:0}
.field__error{font-size:.85rem;color:var(--c-danger);margin:0}
.has-error .input{border-color:var(--c-danger)}
.input{width:100%;padding:.8rem 1rem;background:rgba(255,255,255,.04);border:1px solid var(--c-border);border-radius:var(--radius);color:var(--c-text);font:inherit;font-size:1rem;transition:border-color .2s}
.input:focus{border-color:var(--c-accent);outline:none;background:rgba(255,255,255,.07)}
.input::placeholder{color:rgba(255,255,255,.3)}
textarea.input{resize:vertical;min-height:3rem}
select.input,.select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--c-accent) 50%),linear-gradient(135deg,var(--c-accent) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat}
[dir=rtl] select.input{background-position:20px 50%,15px 50%}
.code-input{text-transform:uppercase;letter-spacing:.25em;font-family:ui-monospace,Menlo,Consolas,monospace;text-align:center}
.code-input--large{font-size:1.5rem;padding:1rem}
.check,.choice{display:flex;gap:.75rem;align-items:flex-start;cursor:pointer;font-size:.95rem}
.check input,.choice input{margin-top:.3em;accent-color:var(--c-accent-strong);width:1.1rem;height:1.1rem;flex:none}
.choice{border:1px solid var(--c-border);border-radius:var(--radius);padding:.9rem 1rem;margin-bottom:.6rem}
.choice:has(input:checked){border-color:var(--c-accent)}
.choice__body{display:flex;flex-direction:column}
.choice__body small{color:var(--c-text-muted)}
.size-picker{display:flex;flex-wrap:wrap;gap:.5rem}
/* Free-text size shown when "Other" is chosen; the sizing-guide picture the admin uploads */
.size-custom{margin-top:.75rem;max-width:16rem}
.size-guide{margin-top:1rem}
.size-guide summary{cursor:pointer;font-size:.9rem;color:var(--c-accent-strong);text-decoration:underline;text-underline-offset:.2em}
.size-guide img{display:block;margin-top:.75rem;max-width:100%;border:1px solid var(--c-border);border-radius:var(--radius)}
.size-chip input{position:absolute;opacity:0}
.size-chip span{display:inline-grid;place-items:center;min-width:3rem;height:3rem;padding:0 .8rem;border:1px solid var(--c-border);border-radius:var(--radius);cursor:pointer;transition:all .2s}
.size-chip input:checked+span{background:var(--c-accent-strong);color:var(--c-text-dark);border-color:var(--c-accent-strong)}
.size-chip input:focus-visible+span{outline:2px solid var(--c-accent-strong);outline-offset:2px}
.password-wrap{position:relative}
.password-wrap .input{padding-inline-end:3rem}
.password-toggle{position:absolute;inset-inline-end:.6rem;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--c-text-muted);cursor:pointer;font-size:1rem;padding:.4rem}

/* Cards / status */
.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:2rem}
.card--dark{background:var(--c-bg)}
.card--accent{border-color:var(--c-accent)}
.card--accent svg,.verify__icon{color:var(--c-accent);margin-inline:auto;display:block;margin-bottom:1rem}
.order__grid{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem;align-items:start}
.order__summary{position:sticky;top:96px}
.summary__item{display:flex;gap:1rem;align-items:center;margin:1rem 0}
.summary__item img{width:72px;height:72px;object-fit:cover;border-radius:var(--radius)}
.summary__totals{margin:1rem 0;border-top:1px solid var(--c-border);padding-top:1rem}
.summary__totals div{display:flex;justify-content:space-between;font-size:1.1rem}
.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.2rem;margin:0 0 1.5rem}
.status-grid div{display:flex;flex-direction:column;gap:.2rem}
.status-grid dt{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--c-text-muted)}
[dir=rtl] .status-grid dt{letter-spacing:0;text-transform:none;font-size:.85rem}
.status-grid dd{margin:0;font-size:1.05rem}
.status-grid--record dd.code-display{font-size:1.3rem;color:var(--c-accent-strong)}
.pill{display:inline-block;padding:.2rem .7rem;border-radius:999px;font-size:.78rem;letter-spacing:.06em;border:1px solid var(--c-border);text-transform:uppercase}
[dir=rtl] .pill{letter-spacing:0;text-transform:none}
.pill--paid,.pill--delivered,.pill--locked{border-color:var(--c-success);color:var(--c-success)}
.pill--pending,.pill--new,.pill--processing{color:var(--c-accent)}
.pill--failed,.pill--cancelled,.pill--refunded{border-color:var(--c-danger);color:var(--c-danger)}
.pill--shipped,.pill--claimable{border-color:#e6c87a;color:#e6c87a}
.progress{list-style:none;margin:1.5rem 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;counter-reset:p}
.progress__step{text-align:center;font-size:.8rem;color:var(--c-text-muted);position:relative;padding-top:1.4rem}
.progress__step::before{content:"";position:absolute;top:.3rem;inset-inline-start:0;width:100%;height:2px;background:var(--c-border)}
.progress__step.is-done::before{background:var(--c-accent)}
.progress__step.is-current{color:var(--c-accent-strong)}
.status-ring{border-top:1px solid var(--c-border);padding-top:1.2rem;margin-top:1.2rem}
.record__seal{display:grid;place-items:center;color:var(--c-accent);margin-bottom:1rem}
.alert{padding:.9rem 1.2rem;border-radius:var(--radius);border:1px solid var(--c-border);background:rgba(255,255,255,.04);margin-bottom:1rem;font-size:.95rem}
.alert--success{border-color:var(--c-success);color:var(--c-success)}
.alert--error{border-color:var(--c-danger);color:var(--c-danger)}
.alert--warning{border-color:#e6c87a;color:#e6c87a}
.flashes{padding-top:1.5rem}
.spinner{width:2.4rem;height:2.4rem;border:2px solid var(--c-border);border-top-color:var(--c-accent-strong);border-radius:50%;margin:0 auto 1rem;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Verify animations */
.verify{min-height:60vh;display:grid;align-items:center}
.verify__form{max-width:520px;margin:1.5rem auto}
.shake{animation:shake calc(.5s*var(--anim-scale))}
@keyframes shake{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(2px)}30%,50%,70%{transform:translateX(-4px)}40%,60%{transform:translateX(4px)}}
.lock-anim{color:var(--c-accent-strong);display:grid;place-items:center;margin-bottom:1rem}
.lock-anim__ring{stroke-dasharray:330;stroke-dashoffset:330;animation:draw calc(1.2s*var(--anim-scale)) ease-out forwards}
.lock-anim__shackle{transform-origin:46px 56px;animation:shackle calc(.6s*var(--anim-scale)) calc(1s*var(--anim-scale)) ease-in-out both}
.lock-anim__check{stroke-dasharray:40;stroke-dashoffset:40;animation:draw calc(.5s*var(--anim-scale)) calc(1.6s*var(--anim-scale)) ease-out forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes shackle{0%{transform:translateY(-10px)}100%{transform:translateY(0)}}
[data-anim=none] .lock-anim__ring,[data-anim=none] .lock-anim__check{stroke-dashoffset:0;animation:none}
[data-anim=none] .lock-anim__shackle{animation:none}
[data-reveal]{opacity:0;transform:translateY(14px);transition:opacity calc(.7s*var(--anim-scale)) ease,transform calc(.7s*var(--anim-scale)) ease}
[data-reveal].is-visible,[data-anim=none] [data-reveal],.no-js [data-reveal]{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}.lock-anim *{animation:none!important;stroke-dashoffset:0!important}.shake{animation:none}.btn:hover{transform:none}}

/* Footer */
.site-footer{background:var(--c-bg-deep);border-top:1px solid var(--c-border);padding-block:3.5rem 2rem;font-size:.92rem}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:3rem}
.footer__tagline{font-family:var(--font-display);font-size:1.2rem;color:var(--c-accent);margin-top:1rem}
[dir=rtl] .footer__tagline{font-family:var(--font-rtl)}
.footer__text{color:var(--c-text-muted)}
.footer__heading{font-family:var(--font-body);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--c-accent);margin-bottom:1rem}
[dir=rtl] .footer__heading{font-family:var(--font-rtl);letter-spacing:0;text-transform:none;font-size:.9rem}
.footer__links,.footer__social,.footer__legal{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}
.footer__links a,.footer__legal a,.footer__social a{text-decoration:none;color:var(--c-text)}
.footer__links a:hover,.footer__legal a:hover{color:var(--c-accent-strong)}
.footer__social{flex-direction:row;gap:1rem;flex-wrap:wrap}
.badges{list-style:none;margin:3rem 0 0;padding:1.5rem 0;border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border);display:flex;gap:2rem;flex-wrap:wrap;justify-content:center}
.badge{display:inline-flex;align-items:center;gap:.5rem;color:var(--c-text-muted);font-size:.85rem}
.badge svg{color:var(--c-accent)}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding-top:1.5rem;color:var(--c-text-muted)}
.footer__legal{flex-direction:row;gap:1.5rem}
.footer__copy{margin:0}
.error-page{min-height:100vh;display:grid;place-items:center}
.debug{text-align:start;background:#000;color:#eee;padding:1rem;overflow:auto;font-size:.8rem;border-radius:var(--radius)}

/* Identity verification + payment gateways */
.brand-badge{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.4;vertical-align:middle;border:1px solid transparent}
.brand-badge--fib{background:#0b2a6b;color:#fff}
.brand-badge--visa{background:#1a1f71;color:#fff;font-style:italic}
.brand-badge--mastercard{background:#222;color:#fff;background-image:radial-gradient(circle at 35% 50%,#eb001b 0 22%,transparent 23%),radial-gradient(circle at 65% 50%,#f79e1b 0 22%,transparent 23%);padding-inline-start:2.3rem}
.brand-badge--demo{background:#555;color:#fff}
.choice__brands{display:inline-flex;gap:.35rem;align-items:center;margin-inline-start:auto}
.choice{align-items:center}
.identity-strip{display:flex;align-items:center;gap:.75rem;padding:.8rem 1rem;border:1px solid var(--c-border);border-radius:var(--radius);background:rgba(255,255,255,.03);font-size:.95rem;flex-wrap:wrap}
.identity-strip.is-ok{border-color:var(--c-success);color:var(--c-success)}
.identity-strip svg{flex:none}
.identity-strip .link{margin-inline-start:auto}
.identity-summary{margin-bottom:1.5rem}
.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;min-height:170px;border:1px dashed var(--c-accent);border-radius:var(--radius);padding:1rem;cursor:pointer;text-align:center;background:rgba(255,255,255,.02);position:relative;overflow:hidden}
.dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}
.dropzone__hint{font-size:.85rem;color:var(--c-text-muted)}
.dropzone__preview{max-height:160px;border-radius:var(--radius)}
.dropzone.has-file .dropzone__hint{display:none}
/* Camera / upload buttons sit above the invisible full-zone file input so they receive the click */
.dropzone__actions{position:relative;z-index:2;display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}
.dropzone__actions .btn svg{vertical-align:-3px;margin-inline-end:.25rem}
/* In-page webcam view (desktop); phones use the native camera app instead */
.camera{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1rem;background:rgba(0,0,0,.92)}
.camera video,.camera canvas{display:block;max-width:min(96vw,900px);max-height:70vh;border-radius:var(--radius);background:#000}
.camera__actions{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}
.steps{padding-inline-start:1.2rem;color:var(--c-text-muted);font-size:.95rem}
.pay-card__grid{display:grid;grid-template-columns:260px 1fr;gap:2rem;align-items:start}
.pay-card__qr{text-align:center}
.pay-card__qr img{background:#fff;padding:10px;border-radius:var(--radius);margin:0 auto .75rem;width:220px;height:220px}
.pay-card__code{font-size:1.3rem;color:var(--c-accent-strong)}
.pay-status{display:flex;align-items:center;gap:.6rem;margin-top:1rem;color:var(--c-text-muted)}
.pay-status.is-paid{color:var(--c-success)}
.pay-status.is-failed{color:var(--c-danger)}
.spinner--inline{width:1rem;height:1rem;margin:0;border-width:2px}
@media (max-width:767px){.pay-card__grid{grid-template-columns:1fr}.choice__brands{margin-inline-start:0;width:100%}}

/* Responsive */
@media (max-width:1023px){
  .footer__grid{grid-template-columns:1fr 1fr}
  .features.cols-3,.features.cols-4{grid-template-columns:repeat(2,1fr)}
  .product__grid,.order__grid{grid-template-columns:1fr;gap:2.5rem}
  .order__summary{position:static}
}
@media (max-width:767px){
  /* backdrop-filter would make the header the containing block of the fixed mobile menu */
  .site-header{backdrop-filter:none;background:var(--c-bg)}
  .site-header__inner{position:relative;z-index:51}
  .menu-toggle{display:block}
  .nav{position:fixed;top:72px;left:0;right:0;bottom:0;background:var(--c-bg-deep);flex-direction:column;align-items:stretch;justify-content:flex-start;padding:1.5rem;gap:1.5rem;transform:translateY(-110%);visibility:hidden;transition:transform .3s,visibility 0s .3s;overflow:auto;z-index:49;-webkit-overflow-scrolling:touch}
  /* Opened by the CSS-only checkbox (no JavaScript needed) or by the script's class */
  .menu-toggle__input:checked~.nav,.nav.is-open{transform:none;visibility:visible;transition:transform .3s,visibility 0s}
  body:has(.menu-toggle__input:checked){overflow:hidden}
  .nav__list{flex-direction:column;align-items:stretch;gap:0}
  .nav__item>a{display:block;padding:.9rem 0;border-bottom:1px solid var(--c-border);font-size:1.05rem}
  .nav__sub{position:static;display:block;border:0;background:none;padding:0 0 .5rem 1rem}
  .nav__actions{flex-direction:column;align-items:stretch}
  .lang-switch__list{position:static;display:block;border:0;background:none}
  .lang-switch__btn{display:none}
  .lang-switch__list a{display:inline-block;padding:.5rem .8rem}
  .section{padding-block:calc(3.2rem*var(--space-scale))}
  .hero{min-height:70vh}
  .split{grid-template-columns:1fr;gap:2rem}
  .layout-media-end .split__media{order:0}
  .features{grid-template-columns:1fr!important}
  .field-row{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr;gap:2rem}
  .footer__bottom{flex-direction:column;align-items:flex-start}
  .progress{grid-template-columns:repeat(2,1fr)}
  .card{padding:1.4rem}
  .form__group{padding:1.1rem}
  .hero__actions .btn{width:100%}
}
@media (max-width:390px){
  .container{width:min(100% - 1.5rem,1180px)}
  .brand__word{font-size:1.15rem;letter-spacing:.3em}
  .code-input--large{font-size:1.15rem;letter-spacing:.15em}
  .status-grid{grid-template-columns:1fr}
}
