/* ORYVANE storefront refinement. Enabled only outside cart and checkout. */
body.oryvane-premium { --premium-ink:#101415; --premium-muted:#5f6966; --premium-line:#d3d9d5; --premium-green:#176b57; }
body.oryvane-premium .site-header { background:#f3f4f2; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
body.oryvane-premium .site-search input { font-size:14px; }
body.oryvane-premium .site-search button { font-size:11px; letter-spacing:.06em; }
body.oryvane-premium .header-actions a { font-size:12px; }

/* Compact photographic cover, with the collection immediately below. */
body.oryvane-premium .store-hero.store-hero--premium { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); align-items:stretch; min-height:320px; padding:0; margin-top:24px; border:0; border-radius:2px; background:#17221d; box-shadow:none; }
body.oryvane-premium .store-hero.store-hero--premium::after { content:none; }
body.oryvane-premium .store-hero--premium .store-hero__content { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; width:100%; max-width:none; padding:34px 48px; animation:none; }
body.oryvane-premium .store-hero--premium .eyebrow { margin:0 0 16px; color:#b6c9bd; font-size:11px; font-weight:600; letter-spacing:.14em; }
body.oryvane-premium .store-hero--premium h1 { max-width:12ch; margin:0; font-size:clamp(38px,4vw,56px); font-weight:500; line-height:1.02; letter-spacing:-.045em; text-wrap:balance; }
body.oryvane-premium .store-hero--premium p:not(.eyebrow) { max-width:39ch; margin:16px 0 0; color:#d0d9d3; font-size:14px; line-height:1.6; }
body.oryvane-premium .store-hero__browse { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:44px; margin-top:22px; padding:9px 18px; border:1px solid #e3e9e4; border-radius:2px; background:#eef2ed; color:#18251f; font-size:13px; font-weight:650; line-height:1.4; transition:background .15s ease; }
body.oryvane-premium .store-hero__browse:hover { background:#fff; }
body.oryvane-premium .store-hero__browse:active { transform:translateY(1px); }
body.oryvane-premium .store-hero__visual { position:relative; min-width:0; overflow:hidden; }
body.oryvane-premium .store-hero__visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
body.oryvane-premium .store-trust { display:flex; flex-wrap:wrap; gap:12px 24px; padding:18px 0; border-bottom:1px solid var(--premium-line); }
body.oryvane-premium .store-trust span, body.oryvane-premium .store-trust span:first-child { flex:0 1 auto; min-height:24px; padding:0; border:0; color:var(--premium-muted); font-size:12px; font-weight:500; letter-spacing:0; text-transform:none; }
body.oryvane-premium .store-trust span::before { width:auto; height:auto; margin-right:7px; border:0; font-size:12px; }

/* Destination choices stay prominent; imagery complements the entry actions. */
body.oryvane-premium .country-gate { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); min-height:660px; gap:clamp(40px,6vw,88px); padding-top:40px; padding-bottom:56px; }
body.oryvane-premium .country-gate h1 { max-width:10ch; font-size:clamp(46px,5.2vw,70px); line-height:1.03; letter-spacing:-.055em; }
body.oryvane-premium .country-gate .eyebrow { margin-bottom:20px; font-size:11px; letter-spacing:.14em; }
body.oryvane-premium .country-gate .country-gate__intro { max-width:36ch; margin:22px 0 28px; color:var(--premium-muted); font-size:15px; line-height:1.65; }
body.oryvane-premium .country-gate .country-gate__label { margin-bottom:12px; color:var(--premium-muted); font-size:11px; letter-spacing:.1em; }
body.oryvane-premium .country-gate__art { min-height:540px; height:540px; padding:0; border:0; border-radius:2px; background:#dce2dd; box-shadow:none; }
body.oryvane-premium .country-gate__art img { width:100%; height:100%; object-fit:cover; }
body.oryvane-premium .region-card { min-height:150px; box-shadow:none; }
body.oryvane-premium .region-card:hover { box-shadow:none; transform:translateY(-2px); }
body.oryvane-premium .region-card .region-card__code { font-size:11px; }
body.oryvane-premium .region-card > span:not(.region-card__code) { color:var(--premium-muted); font-size:12px; }
body.oryvane-premium .region-card strong { font-size:13px; letter-spacing:0; }
body.oryvane-premium .country-gate__trust { gap:10px 20px; margin-top:24px; }
body.oryvane-premium .trust-list li { color:var(--premium-muted); font-size:12px; }

/* Real category links and native sorting keep product finding lightweight. */
body.oryvane-premium .product-section { padding-top:44px; padding-bottom:72px; scroll-margin-top:100px; }
body.oryvane-premium .section-heading { margin-bottom:22px; padding-bottom:20px; animation:none; }
body.oryvane-premium .section-heading h2 { font-size:clamp(32px,3.6vw,46px); line-height:1.1; letter-spacing:-.04em; }
body.oryvane-premium .section-heading .eyebrow { margin-bottom:10px; font-size:11px; letter-spacing:.1em; }
body.oryvane-premium .section-heading > a { font-size:12px; }
body.oryvane-premium .catalog-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px 28px; margin:0 0 14px; }
body.oryvane-premium .catalog-categories { display:flex; flex-wrap:wrap; gap:8px; min-width:0; }
body.oryvane-premium .catalog-categories a { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:8px 16px; border:1px solid var(--premium-line); border-radius:2px; background:transparent; color:#4c5852; font-size:13px; line-height:1.4; transition:border-color .15s ease,background .15s ease; }
body.oryvane-premium .catalog-categories a:hover { border-color:var(--premium-green); }
body.oryvane-premium .catalog-categories a[aria-current="page"] { border-color:var(--premium-ink); background:var(--premium-ink); color:#fff; }
body.oryvane-premium .catalog-sort { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:0; }
body.oryvane-premium .catalog-sort label { color:var(--premium-muted); font-size:12px; }
body.oryvane-premium .catalog-sort select { min-width:160px; min-height:42px; padding:8px 30px 8px 12px; border:1px solid var(--premium-line); border-radius:2px; background:#fff; color:var(--premium-ink); font:inherit; font-size:13px; }
body.oryvane-premium .catalog-sort button { min-height:42px; padding:8px 14px; border:1px solid var(--premium-line); border-radius:2px; background:#e9eeea; color:#27382d; font:inherit; font-size:12px; font-weight:600; cursor:pointer; }
body.oryvane-premium .catalog-sort button:hover { border-color:var(--premium-green); }
body.oryvane-premium .catalog-results { margin:0 0 24px; color:var(--premium-muted); font-size:12px; line-height:1.5; }
body.oryvane-premium .catalog-results a { text-decoration:underline; text-underline-offset:3px; }
body.oryvane-premium .product-grid { gap:36px 24px; }
body.oryvane-premium .product-card { animation:none; }
body.oryvane-premium .product-card__image { background:#fff; }
body.oryvane-premium .product-card__image img { object-fit:contain; padding:4%; transition:none; }
body.oryvane-premium .product-card:hover .product-card__image img { transform:none; filter:none; }
body.oryvane-premium .product-card__body { padding-top:14px; }
body.oryvane-premium .product-card__category { margin-bottom:6px; color:var(--premium-green); font-size:11px; letter-spacing:.05em; }
body.oryvane-premium .product-card h3 { min-height:0; margin-bottom:9px; font-size:16px; font-weight:600; line-height:1.45; }
body.oryvane-premium .product-card__rating { margin:5px 0 8px; color:#59695e; font-size:12px; opacity:1; }
body.oryvane-premium .product-card__rating em { color:var(--premium-muted); font-size:11px; }
body.oryvane-premium .product-card__meta { min-height:0; margin:0 0 8px; gap:5px 12px; flex-wrap:wrap; }
body.oryvane-premium .product-card__meta > span { color:var(--premium-muted); font-size:12px; }
body.oryvane-premium .product-card__stock { min-height:0; margin:4px 0 10px; color:var(--premium-muted); font-size:12px; }
body.oryvane-premium .product-card__actions { margin-top:12px; }
body.oryvane-premium .product-card__actions .button { font-size:11px; letter-spacing:.035em; }

/* Native disclosure panels reveal detail without lengthening the buy panel. */
body.oryvane-premium .product-detail { padding-bottom:72px; }
body.oryvane-premium .back-link { font-size:13px; }
body.oryvane-premium .product-summary { padding-top:16px; }
body.oryvane-premium .product-summary h1 { font-size:clamp(34px,3.8vw,54px); line-height:1.06; }
body.oryvane-premium .product-description { color:var(--premium-muted); font-size:15px; }
body.oryvane-premium .product-information { margin-top:28px; border-top:1px solid var(--premium-line); }
body.oryvane-premium .product-information details, body.oryvane-premium .store-help details { border-bottom:1px solid var(--premium-line); }
body.oryvane-premium .product-information summary, body.oryvane-premium .store-help summary { position:relative; display:flex; align-items:center; justify-content:space-between; gap:22px; min-height:60px; padding:17px 2px; color:var(--premium-ink); font-size:14px; font-weight:600; line-height:1.5; cursor:pointer; list-style:none; }
body.oryvane-premium .product-information summary::-webkit-details-marker, body.oryvane-premium .store-help summary::-webkit-details-marker { display:none; }
body.oryvane-premium .product-information summary::after, body.oryvane-premium .store-help summary::after { content:'+'; flex:0 0 auto; width:18px; color:var(--premium-green); font-size:22px; font-weight:400; text-align:center; }
body.oryvane-premium .product-information details[open] > summary::after, body.oryvane-premium .store-help details[open] > summary::after { content:'−'; }
body.oryvane-premium .product-information details > div, body.oryvane-premium .store-help details > div { padding:0 28px 20px 2px; color:var(--premium-muted); font-size:14px; line-height:1.75; overflow-wrap:anywhere; }
body.oryvane-premium .product-information details > div > :first-child, body.oryvane-premium .store-help details > div > :first-child { margin-top:0; }
body.oryvane-premium .product-information details > div > :last-child, body.oryvane-premium .store-help details > div > :last-child { margin-bottom:0; }
body.oryvane-premium .product-information a, body.oryvane-premium .store-help details a { color:var(--premium-green); text-decoration:underline; text-underline-offset:3px; }
body.oryvane-premium .product-specs { margin:0; }
body.oryvane-premium .product-specs > div { display:grid; grid-template-columns:minmax(90px,.8fr) minmax(0,1.2fr); gap:14px; padding:7px 0; }
body.oryvane-premium .product-specs dt { color:var(--premium-muted); font-weight:400; }
body.oryvane-premium .product-specs dd { margin:0; color:var(--premium-ink); }
body.oryvane-premium .store-help { margin-top:0; padding-top:40px; padding-bottom:66px; border-top:1px solid var(--premium-line); scroll-margin-top:100px; }
body.oryvane-premium .store-help h2 { margin:0 0 24px; color:var(--premium-ink); font-size:clamp(28px,3vw,38px); font-weight:500; line-height:1.15; letter-spacing:-.035em; }
body.oryvane-premium .store-help > p { max-width:60ch; color:var(--premium-muted); font-size:14px; line-height:1.7; }
body.oryvane-premium .service-links { display:flex; flex-wrap:wrap; gap:8px 22px; margin:0; padding:0; list-style:none; }
body.oryvane-premium .service-links a { display:inline-flex; align-items:center; min-height:40px; text-underline-offset:4px; }
body.oryvane-premium .service-links a:hover { text-decoration:underline; }
body.oryvane-premium .site-footer { padding-top:48px; }
body.oryvane-premium .site-footer__grid { padding-bottom:40px; }
body.oryvane-premium .site-footer h2 { font-size:11px; letter-spacing:.1em; }
body.oryvane-premium .site-footer p, body.oryvane-premium .site-footer a { color:#c0c8c2; font-size:13px; }
body.oryvane-premium .site-footer__bottom { min-height:58px; color:#a9b1ac; font-size:11px; letter-spacing:.025em; }
body.oryvane-premium :is(.store-hero__browse,.catalog-categories a,.catalog-sort select,.catalog-sort button,.product-information summary,.store-help summary):focus-visible { outline:2px solid var(--premium-green); outline-offset:4px; }

body.oryvane-premium .store-help { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:40px; }
body.oryvane-premium .store-help__heading .eyebrow { margin:0 0 12px; font-size:11px; letter-spacing:.08em; }
body.oryvane-premium .store-help__heading h2 { max-width:12ch; margin-bottom:16px; }
body.oryvane-premium .store-help__heading > p:not(.eyebrow) { margin:0; color:var(--premium-muted); font-size:14px; line-height:1.6; }
body.oryvane-premium .store-help__questions { min-width:0; border-top:1px solid var(--premium-line); }
body.oryvane-premium .site-footer .service-links { display:block; }
body.oryvane-premium .site-footer .service-links a { display:flex; min-height:32px; }
body.oryvane-premium .site-footer__about h2 { color:#e5ebe6; font-size:20px; font-weight:500; letter-spacing:.12em; }
@media (max-width:1050px) {
 body.oryvane-premium .store-hero--premium .store-hero__content { padding:30px; }
 body.oryvane-premium .country-gate { gap:36px; min-height:580px; }
 body.oryvane-premium .country-gate__art { min-height:470px; height:470px; }
 body.oryvane-premium .catalog-toolbar { align-items:flex-start; }
}
@media (max-width:767px) {
 body.oryvane-premium .site-header__inner { min-height:64px; padding:10px 0; gap:8px 10px; }
 body.oryvane-premium .brand { max-width:calc(100% - 165px); }
 body.oryvane-premium .brand__name { max-width:100%; font-size:14px; letter-spacing:.1em; }
 body.oryvane-premium .header-actions { gap:7px; }
 body.oryvane-premium .header-actions a { min-height:44px; padding:0 3px; font-size:12px; }
 body.oryvane-premium .header-actions a[data-short-label] { font-size:0; }
 body.oryvane-premium .header-actions a[data-short-label]::after { font-size:12px; }
 body.oryvane-premium .header-actions .cart-link { margin-left:2px; padding-left:10px; }
 body.oryvane-premium .site-search { height:44px; }
 body.oryvane-premium .site-search input { height:43px; padding:0 4px; font-size:16px; }
 body.oryvane-premium .site-search button { min-height:43px; padding:0 8px; font-size:11px; }
 body.oryvane-premium .store-hero.store-hero--premium { grid-template-columns:minmax(0,1.8fr) minmax(90px,.8fr); min-height:0; margin-top:14px; align-items:stretch; }
 body.oryvane-premium .store-hero--premium .store-hero__content { padding:20px 16px 20px 20px; }
 body.oryvane-premium .store-hero--premium .eyebrow { margin-bottom:10px; font-size:10px; line-height:1.4; letter-spacing:.1em; }
 body.oryvane-premium .store-hero--premium h1 { max-width:11ch; font-size:clamp(26px,7vw,32px); line-height:1.04; }
 body.oryvane-premium .store-hero--premium p:not(.eyebrow) { margin-top:10px; font-size:13px; line-height:1.45; }
 body.oryvane-premium .store-hero__browse { min-height:42px; margin-top:14px; padding:7px 12px; font-size:12px; }
 body.oryvane-premium .store-hero__visual img { object-position:56% center; }
 body.oryvane-premium .store-trust { gap:6px 15px; padding:13px 0; }
 body.oryvane-premium .store-trust span, body.oryvane-premium .store-trust span:first-child { min-height:20px; font-size:11px; }
 body.oryvane-premium .country-gate { grid-template-columns:1fr; min-height:0; gap:28px; padding-top:28px; padding-bottom:40px; }
 body.oryvane-premium .country-gate h1 { max-width:13ch; font-size:clamp(38px,10.4vw,46px); line-height:1.02; }
 body.oryvane-premium .country-gate .eyebrow { margin-bottom:14px; font-size:10px; line-height:1.5; }
 body.oryvane-premium .country-gate .country-gate__intro { max-width:35ch; margin:16px 0 22px; font-size:14px; line-height:1.55; }
 body.oryvane-premium .country-gate__actions { grid-template-columns:1fr; gap:10px; }
 body.oryvane-premium .region-card { min-height:120px; padding:14px; gap:3px; }
 body.oryvane-premium .region-card::after { top:13px; right:14px; }
 body.oryvane-premium .region-card .region-card__code { margin-bottom:0; font-size:11px; }
 body.oryvane-premium .region-card > span:not(.region-card__code) { font-size:12px; }
 body.oryvane-premium .region-card strong { min-height:44px; margin-top:8px; padding:8px 12px; font-size:13px; }
 body.oryvane-premium .country-gate__trust { margin-top:18px; gap:5px 12px; }
 body.oryvane-premium .trust-list li { font-size:11px; }
 body.oryvane-premium .country-gate__art { min-height:240px; height:240px; }
 body.oryvane-premium .country-gate__art img { object-position:center 56%; }
 body.oryvane-premium .product-section { padding-top:28px; padding-bottom:48px; scroll-margin-top:132px; }
 body.oryvane-premium .section-heading { margin-bottom:18px; padding-bottom:16px; white-space:normal; }
 body.oryvane-premium .section-heading h2 { font-size:31px; }
 body.oryvane-premium .section-heading .eyebrow { margin-bottom:7px; font-size:11px; }
 body.oryvane-premium .catalog-toolbar { display:block; margin-bottom:12px; }
 body.oryvane-premium .catalog-categories { flex-wrap:nowrap; overflow-x:auto; gap:7px; padding-bottom:4px; scrollbar-width:thin; }
 body.oryvane-premium .catalog-categories a { flex:0 0 auto; min-height:42px; padding:8px 13px; font-size:12px; }
 body.oryvane-premium .catalog-sort { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:8px; margin-top:12px; }
 body.oryvane-premium .catalog-sort select { width:100%; min-width:0; font-size:16px; }
 body.oryvane-premium .catalog-sort button { padding:8px 12px; }
 body.oryvane-premium .catalog-results { margin-bottom:18px; }
 html body.oryvane-premium .site-main .product-section .product-grid { column-gap:12px!important; row-gap:30px!important; }
 body.oryvane-premium .product-card__body { padding-top:11px; }
 body.oryvane-premium .product-card__category { margin-bottom:5px; font-size:11px; letter-spacing:.025em; }
 body.oryvane-premium .product-card h3 { min-height:0; margin-bottom:8px; font-size:15px; line-height:1.4; }
 body.oryvane-premium .product-card__meta { min-height:0; margin-bottom:6px; }
 body.oryvane-premium .product-card .price-line { margin-bottom:4px; font-size:18px; }
 body.oryvane-premium .product-card__meta > span, body.oryvane-premium .product-card__stock { font-size:11px; }
 body.oryvane-premium .product-card__rating em { font-size:11px; }
 body.oryvane-premium .product-card__actions { margin-top:10px; }
 body.oryvane-premium .product-card__actions .button { min-height:44px; font-size:11px; letter-spacing:0; }
 body.oryvane-premium .product-detail { padding-bottom:48px; }
 body.oryvane-premium .product-detail__grid { gap:22px; }
 body.oryvane-premium .product-summary { padding-top:0; }
 body.oryvane-premium .product-summary h1 { font-size:clamp(32px,9vw,42px); }
 body.oryvane-premium .product-information { margin-top:24px; }
 body.oryvane-premium .product-information summary, body.oryvane-premium .store-help summary { min-height:58px; }
 body.oryvane-premium .store-help { grid-template-columns:1fr; gap:24px; padding-top:28px; padding-bottom:42px; scroll-margin-top:132px; }
 body.oryvane-premium .store-help h2 { margin-bottom:18px; font-size:28px; }
 body.oryvane-premium .site-footer { padding-top:36px; }
 body.oryvane-premium .site-footer__grid { gap:28px; padding-bottom:32px; }
 body.oryvane-premium .site-footer__bottom { padding:18px 0; }
}
@media (max-width:360px) {
 body.oryvane-premium .brand__name { font-size:12px; letter-spacing:.055em; }
 body.oryvane-premium .header-actions { gap:4px; }
 body.oryvane-premium .header-actions a { padding:0 2px; }
 body.oryvane-premium .store-hero--premium .store-hero__content { padding:18px 12px 18px 16px; }
 body.oryvane-premium .store-hero--premium h1 { font-size:25px; }
 body.oryvane-premium .country-gate h1 { font-size:36px; }
}
@media (prefers-reduced-motion:reduce) {
 body.oryvane-premium .region-card, body.oryvane-premium .store-hero__browse, body.oryvane-premium .catalog-categories a { transition:none; }
}
/* Keep actual WooCommerce amount spans as readable as their price container. */
body.oryvane-premium .price-line .woocommerce-Price-amount,
body.oryvane-premium .price-line .woocommerce-Price-currencySymbol {
    color: inherit;
    font-size: inherit;
}
body.oryvane-premium .price-line .drc-price-unit { color: #5f6768; }

body.oryvane-premium .native-cart form.cart {
  position: relative;
}
body.oryvane-premium .cart-add-feedback {
  flex: 1 0 100%;
  min-height: 20px;
  margin: 2px 0 0;
  color: #176b57;
  font-size: 12px;
  line-height: 1.5;
}
body.oryvane-premium .cart-add-feedback.is-error {
  color: #9a2f2f;
}
body.oryvane-premium .single_add_to_cart_button.is-adding {
  cursor: wait;
  opacity: .72;
}
body.oryvane-premium .single_add_to_cart_button.is-added {
  background: #176b57 !important;
}
