/* ODN Prints — brand skin + effects (loaded by the ODN Prints plugin) */
:root{
  --odn-bg:#08090C; --odn-bg2:#0D0F14;
  --odn-text:#EDEFF5; --odn-dim:#8A92A4;
  --odn-accent:#F2A93B; --odn-accent2:#F8D281; --odn-aqua:#5FE7DE;
  --odn-border:rgba(255,255,255,.10); --odn-border-strong:rgba(255,255,255,.18);
  --odn-surface:rgba(255,255,255,.045);
}

/* ---- base ---- */
body{ background:var(--odn-bg); color:var(--odn-text);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }

/* glow + grid behind everything */
body::before{ content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(50% 38% at 78% 8%, color-mix(in srgb,var(--odn-accent) 22%,transparent), transparent 70%),
    radial-gradient(46% 34% at 10% 22%, color-mix(in srgb,var(--odn-aqua) 14%,transparent), transparent 70%); }
body::after{ content:""; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.45;
  background-image:linear-gradient(var(--odn-border) 1px,transparent 1px),
                   linear-gradient(90deg,var(--odn-border) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(70% 55% at 50% 0%,#000,transparent);
          mask-image:radial-gradient(70% 55% at 50% 0%,#000,transparent); }
.wp-site-blocks{ position:relative; z-index:1; }

/* ---- typography ---- */
h1,h2,h3,h4,.wp-block-heading{
  font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  font-weight:500; letter-spacing:-.02em; color:var(--odn-text); }
h1 em, .odn-amber{ font-style:italic;
  background:linear-gradient(120deg,var(--odn-accent),var(--odn-accent2));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
a{ color:var(--odn-accent); }

/* ---- header / nav (dark, sticky, glassy) ---- */
header.wp-block-template-part, .wp-block-template-part header, header{
  background:color-mix(in srgb,var(--odn-bg) 72%,transparent);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--odn-border); }
.wp-block-site-title a, .wp-block-navigation a{ color:var(--odn-text); }

/* ---- buttons ---- */
.wp-block-button__link{ border-radius:999px; font-weight:600; padding:14px 28px; text-decoration:none !important; }
/* Default + fill buttons = solid amber (matches the app's primary button) */
.odn-pill .wp-block-button__link,
.wp-block-button.is-style-fill .wp-block-button__link,
.wp-block-button:not(.is-style-outline) .wp-block-button__link{
  background:linear-gradient(135deg,var(--odn-accent),var(--odn-accent2));
  color:#0b0b0b !important; box-shadow:0 14px 34px -14px var(--odn-accent); border:0; }
/* Outline buttons = dark glass ghost (matches the app's secondary button) */
.odn-ghost .wp-block-button__link, .wp-block-button.is-style-outline .wp-block-button__link{
  background:var(--odn-surface); color:var(--odn-text) !important;
  border:1px solid var(--odn-border-strong); box-shadow:none; }

/* ---- glass cards (homepage category tiles) ---- */
.odn-tile, .wp-block-columns .wp-block-column > .wp-block-group{
  border:1px solid var(--odn-border); border-radius:22px;
  background:var(--odn-surface); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  box-shadow:0 20px 60px -30px rgba(0,0,0,.7);
  transition:transform .3s,border-color .3s,box-shadow .3s; }
.odn-tile:hover, .wp-block-columns .wp-block-column > .wp-block-group:hover{
  transform:translateY(-8px);
  border-color:color-mix(in srgb,var(--odn-accent) 55%,transparent);
  box-shadow:0 34px 70px -34px rgba(0,0,0,.7); }

/* eyebrow pill */
.odn-eyebrow{ display:inline-flex; align-items:center; gap:10px; color:var(--odn-accent);
  padding:7px 14px; border:1px solid var(--odn-border); border-radius:999px;
  background:var(--odn-surface); font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; }

/* ---- WooCommerce: keep shop/product text readable on dark ---- */
.woocommerce, .woocommerce-page, .wc-block-grid, .wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout{ color:var(--odn-text); }
.woocommerce ul.products li.product, .wc-block-grid__product{
  background:var(--odn-surface); border:1px solid var(--odn-border);
  border-radius:18px; padding:14px; }
.woocommerce span.price, .woocommerce-Price-amount{ color:var(--odn-text); }
.woocommerce .button, .woocommerce a.button, .woocommerce button.button{
  background:linear-gradient(135deg,var(--odn-accent),var(--odn-accent2))!important;
  color:#0b0b0b!important; border-radius:999px!important; border:0!important; }

/* ===== Cursor-follow amber glow (added by odn-interactions.js) ===== */
#odn-spot{
  position:fixed; left:0; top:0; width:480px; height:480px; border-radius:50%;
  z-index:5; pointer-events:none; opacity:0; will-change:transform;
  transition:opacity .4s ease; mix-blend-mode:screen;
  background:radial-gradient(circle, color-mix(in srgb,#F2A93B 16%,transparent), transparent 60%);
}
@media (pointer:coarse){ #odn-spot{ display:none; } }

/* ===== Tilt + glare on cards ===== */
.odn-tilt{ position:relative; transition:transform .25s ease, border-color .3s, box-shadow .3s; transform-style:preserve-3d; }
.odn-glare{ position:absolute; inset:0; border-radius:inherit; pointer-events:none; opacity:0; transition:opacity .3s;
  background:radial-gradient(circle at var(--mx,50%) var(--my,50%), color-mix(in srgb,#F2A93B 26%,transparent), transparent 45%); }
.odn-tilt:hover .odn-glare{ opacity:1; }

/* ===== Black-to-colour reveal on product images ===== */
.woocommerce ul.products li.product img,
.wc-block-grid__product img,
.wp-block-woocommerce-product-template img,
.odn-tile img{
  filter:grayscale(1) contrast(.92) brightness(.92);
  transition:filter .5s ease, transform .5s ease;
}
.woocommerce ul.products li.product:hover img,
.wc-block-grid__product:hover img,
.wp-block-woocommerce-product-template li:hover img,
.odn-tile:hover img{ filter:none; }

/* ===== Before/After wiper (shortcode: [odn_wiper]) ===== */
.odn-wiper{ position:relative; width:100%; max-width:430px; aspect-ratio:5/6; margin:0 auto;
  border-radius:24px; overflow:hidden; border:1px solid rgba(255,255,255,.18);
  box-shadow:0 30px 80px -40px rgba(0,0,0,.85); user-select:none; touch-action:none; background:#11141B; }
.odn-wiper img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:none !important; }
.odn-wiper .odn-wiper-before{ clip-path:inset(0 calc(100% - var(--pos,55%)) 0 0); }
.odn-wiper .odn-wiper-divider{ position:absolute; top:0; bottom:0; left:var(--pos,55%); width:2px;
  background:linear-gradient(#F2A93B,#F8D281); transform:translateX(-1px); z-index:4; }
.odn-wiper .odn-wiper-handle{ position:absolute; top:50%; left:var(--pos,55%); transform:translate(-50%,-50%); z-index:5;
  width:46px; height:46px; border-radius:50%; background:#12151C; border:1.5px solid #F2A93B; display:grid; place-items:center;
  cursor:ew-resize; color:#F2A93B; box-shadow:0 8px 22px -8px rgba(0,0,0,.6); font-size:1.1rem; }
.odn-wiper .odn-wiper-lbl{ position:absolute; top:14px; z-index:4; font-size:.6rem; letter-spacing:.18em; text-transform:uppercase;
  padding:5px 10px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); }
.odn-wiper .odn-wiper-lbl.l{ left:14px; color:#5FE7DE; }
.odn-wiper .odn-wiper-lbl.r{ right:14px; color:#F2A93B; }

/* ===== WooCommerce account / login / register / checkout / cart — ODN dark skin ===== */
.woocommerce-account .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-cart .woocommerce{ max-width:1100px; margin-inline:auto; }

/* Field labels + inputs */
.woocommerce form .form-row label,
.woocommerce-account label,
.woocommerce .form-row label,
.woocommerce-input-wrapper label{ color:var(--odn-dim); font-size:.85rem; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-input-wrapper input,
.woocommerce input.input-text,
.woocommerce select,
.woocommerce .select2-container .select2-selection{
  background:var(--odn-surface) !important; color:var(--odn-text) !important;
  border:1px solid var(--odn-border-strong) !important; border-radius:12px !important;
  padding:12px 14px !important; }
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce-input-wrapper input:focus{
  outline:none; border-color:var(--odn-accent) !important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--odn-accent) 18%,transparent) !important; }

/* Buttons */
.woocommerce-form-login .button,
.woocommerce-form-register .button,
.woocommerce-MyAccount-content .button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce button.button.alt,
.woocommerce input.button{
  background:linear-gradient(135deg,var(--odn-accent),var(--odn-accent2)) !important;
  color:#0b0b0b !important; border:0 !important; border-radius:999px !important;
  padding:13px 26px !important; font-weight:600 !important; }
.woocommerce a.button:hover,
.woocommerce button.button:hover{ filter:brightness(1.05); }

/* Login / register cards */
.woocommerce .col2-set{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
@media (max-width:780px){ .woocommerce .col2-set{ grid-template-columns:1fr; } }
.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-ResetPassword{
  border:1px solid var(--odn-border); border-radius:18px;
  background:var(--odn-surface); padding:26px; }

/* My Account dashboard — two-column layout (sidebar + panel) */
.woocommerce-account.logged-in .woocommerce{ max-width:1060px; margin-inline:auto; }
.woocommerce-account.logged-in .woocommerce::after{ content:""; display:table; clear:both; }
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{
  float:left; width:230px; margin:0 32px 24px 0; }
.woocommerce-account.logged-in .woocommerce-MyAccount-content{ overflow:hidden; margin:0; }
@media (max-width:782px){
  .woocommerce-account.logged-in .woocommerce-MyAccount-navigation{ float:none; width:auto; margin-right:0; }
  .woocommerce-account.logged-in .woocommerce-MyAccount-content{ overflow:visible; }
}

/* My Account: navigation + content panels */
.woocommerce-MyAccount-navigation ul,
.woocommerce-MyAccount-navigation ul.woocommerce-MyAccount-navigation-links{
  list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; }
.woocommerce-MyAccount-navigation li{ margin:0; padding:0; }
.woocommerce-MyAccount-navigation li a{ display:block; padding:11px 14px; border-radius:12px;
  color:var(--odn-dim); border:1px solid transparent; text-decoration:none; }
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover{
  color:var(--odn-text); background:var(--odn-surface); border-color:var(--odn-border); }
.woocommerce-MyAccount-content{ border:1px solid var(--odn-border); border-radius:18px;
  background:var(--odn-surface); padding:24px; }

/* Tables (orders, addresses, cart) */
.woocommerce table.shop_table,
.woocommerce-orders-table,
.woocommerce table.cart{ border:1px solid var(--odn-border); border-radius:14px;
  border-collapse:separate; overflow:hidden; background:var(--odn-surface); color:var(--odn-text); }
.woocommerce table.shop_table th,
.woocommerce table.shop_table td,
.woocommerce table.cart th,
.woocommerce table.cart td{ border-top:1px solid var(--odn-border); padding:12px 14px; }
.woocommerce .cart_totals h2,
.woocommerce-account h2, .woocommerce-account h3{ color:var(--odn-text); }

/* Notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews{
  border:1px solid var(--odn-border); background:var(--odn-surface); color:var(--odn-text);
  border-radius:12px; border-left:4px solid var(--odn-accent); }
.woocommerce-error{ border-left-color:#ff8e7a; }

/* ===== Long-form info pages (Terms, Privacy, Shipping, Refund, Returns, About, FAQ) ===== */
/* Scoped to ordinary pages — excludes WooCommerce shop/cart/checkout/account layouts. */
body.page:not(.woocommerce-page) .wp-block-post-content,
body.page:not(.woocommerce-page) .entry-content{
  max-width:780px; margin-inline:auto; padding:14px 22px 64px; font-size:1rem;
}
body.page:not(.woocommerce-page) .wp-block-post-content > *{
  margin-left:auto; margin-right:auto;
}
body.page:not(.woocommerce-page) .wp-block-post-content h1,
body.page:not(.woocommerce-page) .wp-block-post-content h1.wp-block-heading{
  font-size:clamp(1.9rem,3.4vw,2.5rem); line-height:1.14; letter-spacing:-.01em;
  margin:4px 0 24px; color:var(--odn-text);
}
body.page:not(.woocommerce-page) .wp-block-post-content h2,
body.page:not(.woocommerce-page) .wp-block-post-content h2.wp-block-heading{
  font-size:1.34rem; line-height:1.3; margin:34px 0 10px; color:var(--odn-accent2);
}
body.page:not(.woocommerce-page) .wp-block-post-content h3,
body.page:not(.woocommerce-page) .wp-block-post-content h3.wp-block-heading{
  font-size:1.1rem; line-height:1.35; margin:24px 0 8px; color:var(--odn-text);
}
body.page:not(.woocommerce-page) .wp-block-post-content p{
  line-height:1.78; margin:0 0 15px; color:var(--odn-text);
}
body.page:not(.woocommerce-page) .wp-block-post-content ul,
body.page:not(.woocommerce-page) .wp-block-post-content ol{
  margin:0 0 16px; padding-left:1.3em;
}
body.page:not(.woocommerce-page) .wp-block-post-content li{
  line-height:1.7; margin-bottom:7px; color:var(--odn-text);
}
body.page:not(.woocommerce-page) .wp-block-post-content a:not(.wp-block-button__link){
  color:var(--odn-accent); text-decoration:underline; text-underline-offset:2px;
}
body.page:not(.woocommerce-page) .wp-block-post-content strong{ color:var(--odn-text); }

/* ===== WooCommerce Mini-Cart slide-out drawer — ODN dark skin ===== */
.wc-block-components-drawer__screen-overlay{
  background:rgba(0,0,0,.55) !important; opacity:1 !important; }
.wc-block-mini-cart__drawer .wc-block-components-drawer__content,
.wc-block-mini-cart__drawer .wc-block-components-drawer,
.wc-block-mini-cart__template-part{
  background:var(--odn-bg2) !important; color:var(--odn-text) !important; }
/* Recolor internal dividers/borders to the dark palette */
.wc-block-mini-cart__drawer hr,
.wc-block-mini-cart__drawer .wc-block-cart-items__row,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer,
.wc-block-mini-cart__drawer .wc-block-components-totals-item{
  border-color:var(--odn-border) !important; }
/* Headings, text, prices */
.wc-block-mini-cart__title,
.wc-block-mini-cart__title *,
.wc-block-components-product-name,
.wc-block-components-product-price,
.wc-block-components-product-price *,
.wc-block-components-formatted-money-amount,
.wc-block-mini-cart__footer-subtotal,
.wc-block-mini-cart__footer-subtotal *,
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value{ color:var(--odn-text) !important; }
.wc-block-components-product-metadata,
.wc-block-mini-cart__footer-actions ~ *,
.wc-block-cart-item__remove-link{ color:var(--odn-dim) !important; }
.wc-block-components-drawer__close{ color:var(--odn-text) !important; }
.wc-block-components-drawer__close svg{ fill:currentColor !important; }
.wc-block-mini-cart__footer{ background:var(--odn-bg2) !important; box-shadow:none !important; }
/* Product thumbnails keep full colour inside the cart */
.wc-block-mini-cart__drawer .wc-block-cart-item__image img,
.wc-block-mini-cart__drawer .wc-block-components-product-image img{ filter:none !important; }
/* Footer buttons: Checkout = amber fill, View cart = ghost */
.wc-block-mini-cart__footer-checkout,
.wc-block-mini-cart__footer-actions .wc-block-components-button.contained{
  background:linear-gradient(135deg,var(--odn-accent),var(--odn-accent2)) !important;
  color:#0b0b0b !important; border:0 !important; }
.wc-block-mini-cart__footer-cart,
.wc-block-mini-cart__footer-actions .wc-block-components-button.outlined{
  background:transparent !important; color:var(--odn-text) !important;
  border:1px solid var(--odn-border-strong) !important; }
