/* OUTCAST Hello Edition 3.0
 * Shared design tokens and page refinements. Layout content remains editable in Elementor.
 */
:root{
  --oc30-ink:#101010;
  --oc30-paper:#f1eee6;
  --oc30-surface:#fbfaf6;
  --oc30-white:#fff;
  --oc30-muted:#68655f;
  --oc30-line:#d6d0c5;
  --oc30-red:#bd1f2d;
  --oc30-width:1400px;
  --oc30-reading:760px;
  --oc30-gutter:clamp(20px,4.2vw,72px);
  --oc30-space:clamp(56px,7vw,112px);
  --oc30-display:'OUTCAST Display',Impact,'Arial Narrow',sans-serif;
  --oc30-body:Arial,Helvetica,sans-serif;
  --oc30-motion:260ms;
}

html{overflow-x:hidden}
body{overflow-x:clip;background:var(--oc30-surface);color:var(--oc30-ink);font-family:var(--oc30-body)}
body.elementor-page main,body.elementor-page .site-main{padding:0;margin:0;max-width:none}
.oc-site-main{min-height:50vh}
.elementor-element.oc30-page-hero{
  position:relative;
  --content-width:var(--oc30-width);
  --padding-top:clamp(72px,8vw,132px);
  --padding-right:var(--oc30-gutter);
  --padding-bottom:clamp(70px,8vw,124px);
  --padding-left:var(--oc30-gutter);
  --row-gap:20px;
  overflow:hidden;
  background:var(--oc30-ink)!important;
  color:var(--oc30-paper);
  border:0!important;
}
.elementor-element.oc30-page-hero::after{
  content:"";
  position:absolute;
  left:var(--oc30-gutter);
  bottom:0;
  width:72px;
  height:5px;
  background:var(--oc30-red);
}
.oc30-page-hero .elementor-heading-title{color:var(--oc30-paper)!important}
.oc30-page-hero>.elementor-element:first-child .elementor-heading-title,
.oc30-page-hero .elementor-widget-heading:first-child .elementor-heading-title{
  color:#d14751!important;
  font-family:var(--oc30-body)!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.14em!important;
  line-height:1.3!important;
  text-transform:uppercase;
}
.oc30-page-hero .elementor-widget-heading .elementor-heading-title:is(h1,h2){
  max-width:1100px;
  font-family:var(--oc30-display)!important;
  font-size:clamp(58px,8vw,126px)!important;
  font-weight:800!important;
  line-height:.88!important;
  letter-spacing:-.018em!important;
  text-transform:uppercase;
  text-wrap:balance;
}
.oc30-page-hero .elementor-widget-text-editor{
  max-width:620px;
  color:#c6c1b7!important;
  font-size:clamp(15px,1.4vw,18px)!important;
  line-height:1.65;
}
.elementor-element.oc30-page-section{
  --content-width:min(100%,var(--oc30-width));
  --padding-top:var(--oc30-space);
  --padding-right:var(--oc30-gutter);
  --padding-bottom:var(--oc30-space);
  --padding-left:var(--oc30-gutter);
  background:var(--oc30-surface);
}
.oc30-page-section+.oc30-page-section{border-top:1px solid var(--oc30-line)}
.oc30-page-section .elementor-heading-title:is(h2,h3),
.oc30-story .elementor-heading-title:is(h2,h3){font-family:var(--oc30-display)!important;font-weight:800!important;letter-spacing:-.015em!important}
.oc30-page-section .elementor-widget-text-editor{color:var(--oc30-muted);line-height:1.75}

/* Header and navigation */
.oc-site-header{isolation:isolate;box-shadow:0 1px 0 #ffffff1a}
.oc26-header .oc-nav a,.oc26-header .oc-tools a,.oc26-header .oc-tools button{letter-spacing:.075em}
.oc26-header .oc-nav a{position:relative;text-decoration:none!important}
.oc26-header .oc-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:5px;height:1px;background:currentColor;transition:right var(--oc30-motion) ease}
.oc26-header .oc-nav a:hover::after,.oc26-header .oc-nav .current-menu-item>a::after{right:0}
.oc26-header .oc-cart-count{display:inline-grid;place-items:center;min-width:19px;height:19px;margin-left:4px;padding:0 5px;border:1px solid currentColor;border-radius:50%;font-size:9px}

/* Homepage campaign and commerce */
.oc-hero{border-bottom:1px solid #000}
.oc-hero .oc-hero__title{text-shadow:0 2px 28px #0005}
.oc-hero .oc-hero__label{padding-left:30px;position:relative}
.oc-hero .oc-hero__label::before{content:"";position:absolute;left:0;top:50%;width:18px;height:2px;background:var(--oc30-red)}
.oc26-products .woocommerce ul.products li.product{position:relative}
.oc26-products .woocommerce ul.products li.product a img{background:#e6e2da;transition:transform .45s ease,opacity .25s ease}
.oc26-products .woocommerce ul.products li.product a:hover img{transform:scale(1.012)}
.oc26-products .woocommerce-loop-product__title{text-transform:uppercase;letter-spacing:.01em!important}
.oc26-products .price{font-variant-numeric:tabular-nums}
.oc26-categories .oc-category-card{overflow:hidden;background:#111}
.oc26-categories .oc-category-card img{transition:transform .7s ease,opacity .3s ease}
.oc26-categories .oc-category-card:hover img{transform:scale(1.025);opacity:.88}
.oc26-editorial{border-top:1px solid var(--oc30-line);border-bottom:1px solid var(--oc30-line)}
.oc26-editorial .elementor-widget-text-editor{max-width:540px}
.oc26-principles>.e-con-inner>.e-con,.oc26-principles>.e-con{position:relative}
.oc26-principles .elementor-widget-heading:first-child .elementor-heading-title::before{content:"/ ";color:var(--oc30-red)}

/* Story, support, forms and information pages */
.oc30-story{background:var(--oc30-paper)!important}
.oc30-story .elementor-widget-image img{width:100%;max-height:760px;object-fit:cover;object-position:center}
.oc30-story .elementor-widget-image{overflow:hidden}
.oc30-cta-band{background:var(--oc30-red)!important;color:#fff}
.oc30-cta-band .elementor-heading-title,.oc30-cta-band .elementor-widget-text-editor{color:#fff!important}
.oc30-contact+.oc30-page-section>.e-con-inner,.oc30-contact+.oc30-page-section{align-items:stretch}
.oc30-contact+.oc30-page-section .oc-form{background:#fff;border:1px solid var(--oc30-line);padding:clamp(24px,4vw,56px)}
.oc30-faq+.oc30-page-section .elementor-accordion .elementor-tab-title{padding:24px 0;background:transparent!important;border-bottom:1px solid var(--oc30-line);font-size:15px;font-weight:700}
.oc30-faq+.oc30-page-section .elementor-accordion .elementor-tab-content{padding:24px 0 36px;background:transparent;border-bottom:1px solid var(--oc30-line);color:var(--oc30-muted);line-height:1.7}
.oc30-delivery-returns+.oc30-page-section>.e-con-inner,.oc30-delivery-returns+.oc30-page-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.oc30-delivery-returns+.oc30-page-section>.e-con-inner>.e-con,.oc30-delivery-returns+.oc30-page-section>.e-con{padding:clamp(24px,4vw,54px);border:1px solid var(--oc30-line);margin:-1px 0 0 -1px;background:#fff}
.oc30-size-guide+.oc30-page-section .oc-size-chart{background:#fff;border:1px solid var(--oc30-line);padding:clamp(20px,3vw,44px)}
.oc30-privacy+.oc30-page-section,.oc30-terms+.oc30-page-section{--content-width:var(--oc30-reading)}

/* Shop, product and discovery */
.oc30-shop+.oc30-page-section,.oc30-catalog.oc30-page-section{background:var(--oc30-surface)}
.oc30-shop+.oc30-page-section .oc-collection ul.products{grid-template-columns:repeat(4,minmax(0,1fr));gap:54px 22px}
.oc30-shop+.oc30-page-section .oc-collection ul.products li.product a img{aspect-ratio:4/5;object-fit:contain;background:#e9e6df}
.oc26-product{background:var(--oc30-surface)}
.oc26-product .woocommerce-product-gallery__wrapper{background:#e9e6df}
.oc26-product .woocommerce-product-gallery__image img{mix-blend-mode:multiply}
.oc26-product .product_title{font-family:var(--oc30-display)!important;font-size:clamp(48px,5.4vw,82px)!important;text-transform:uppercase;line-height:.9!important;letter-spacing:-.02em!important}
.oc26-product .price{font-weight:700;font-variant-numeric:tabular-nums}
.oc26-product .single_add_to_cart_button{width:min(100%,380px);text-transform:uppercase;letter-spacing:.06em}
.oc26-product .variations label{font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.oc26-product .related.products{border-top:1px solid var(--oc30-line);padding-top:var(--oc30-space)}

/* Cart, checkout, account and order flows */
.oc30-cart+.oc30-page-section,.oc30-checkout+.oc30-page-section,.oc30-track-order+.oc30-page-section,.oc30-order-received+.oc30-page-section{--content-width:1180px}
.oc30-cart+.oc30-page-section .woocommerce,.oc30-checkout+.oc30-page-section .woocommerce,.oc30-track-order+.oc30-page-section .woocommerce,.oc30-order-received+.oc30-page-section .woocommerce{background:#fff;border:1px solid var(--oc30-line);padding:clamp(20px,4vw,56px)}
.woocommerce table.shop_table thead th{text-transform:uppercase;letter-spacing:.07em;font-size:11px}
.woocommerce .cart-collaterals .cart_totals{background:var(--oc30-paper);border-top:4px solid var(--oc30-ink)}
.woocommerce #payment{border-top:4px solid var(--oc30-ink)}
.oc30-account-shell{background:var(--oc30-paper)}
.oc-account-auth{border:1px solid var(--oc30-line);box-shadow:0 20px 60px #00000010}
.oc-account-visual::before{content:"OUTCAST";position:absolute;left:40px;top:34px;z-index:1;color:#fff;font-family:var(--oc30-display);font-size:22px;letter-spacing:.06em}
.oc-account-member .oc-account-main{background:#fff;border:1px solid var(--oc30-line);padding:clamp(24px,4vw,52px)}
.oc-account-card{border-radius:0!important;background:var(--oc30-paper)!important}

/* Journal, search and 404 */
.oc30-archive+.oc30-page-section .oc-journal-grid,.oc26-journal .oc-journal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.oc-post-card img{filter:saturate(.88);transition:filter var(--oc30-motion),transform .45s ease}
.oc-post-card:hover img{filter:saturate(1);transform:scale(1.008)}
.oc30-single{--content-width:var(--oc30-reading);--padding-top:clamp(60px,8vw,120px);--padding-bottom:clamp(60px,8vw,120px)}
.oc30-single .oc-article-part[data-part=title] h1{font-family:var(--oc30-display);font-size:clamp(56px,8vw,106px);font-weight:800;line-height:.9;text-transform:uppercase}
.oc30-search+.oc30-page-section .oc-journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.oc30-404 .elementor-heading-title:is(h1,h2){font-size:clamp(66px,10vw,150px)!important}

/* Footer */
.oc26-footer{border-top:1px solid #ffffff1c}
.oc26-footer .oc26-wordmark img{opacity:.96}
.oc26-footer a{transition:color var(--oc30-motion)}
.oc26-footer a:hover{color:#fff}

@media(max-width:1024px){
  .oc30-shop+.oc30-page-section .oc-collection ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
  .oc30-archive+.oc30-page-section .oc-journal-grid,.oc26-journal .oc-journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .oc30-delivery-returns+.oc30-page-section>.e-con-inner,.oc30-delivery-returns+.oc30-page-section{grid-template-columns:1fr 1fr}
}

@media(max-width:767px){
  :root{--oc30-gutter:20px;--oc30-space:52px}
  .elementor-element.oc30-page-hero{--padding-top:58px;--padding-bottom:64px;--row-gap:16px}
  .oc30-page-hero::after{width:48px;height:4px}
  .oc30-page-hero .elementor-widget-heading .elementor-heading-title:is(h1,h2){font-size:clamp(48px,15vw,68px)!important;line-height:.91!important}
  .oc30-page-hero .elementor-widget-text-editor{font-size:14px!important;line-height:1.6}
  .oc-hero .oc-hero__content{align-items:flex-end;padding-bottom:100px}
  .oc-hero .oc-hero__copy{max-width:330px}
  .oc-hero .oc-hero__description{max-width:275px}
  .oc-hero .oc-hero__actions{align-items:stretch}
  .oc-hero .oc-hero__cta{min-width:0;flex:1 1 auto;white-space:nowrap}
  .oc30-shop+.oc30-page-section .oc-collection ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 10px}
  .oc30-shop+.oc30-page-section .woocommerce-loop-product__title,.oc26-products .woocommerce-loop-product__title{font-size:13px!important}
  .oc30-shop+.oc30-page-section .price,.oc26-products .price{font-size:12px!important}
  .oc30-contact+.oc30-page-section .oc-form{padding:24px 18px}
  .oc30-delivery-returns+.oc30-page-section>.e-con-inner,.oc30-delivery-returns+.oc30-page-section{display:flex;flex-direction:column}
  .oc30-delivery-returns+.oc30-page-section>.e-con-inner>.e-con,.oc30-delivery-returns+.oc30-page-section>.e-con{padding:26px 22px}
  .oc30-archive+.oc30-page-section .oc-journal-grid,.oc26-journal .oc-journal-grid,.oc30-search+.oc30-page-section .oc-journal-grid{grid-template-columns:1fr}
  .oc-account-auth{border:0;box-shadow:none}
  .oc-account-member .oc-account-main{padding:24px 18px}
  .woocommerce table.shop_table_responsive tr{border-bottom:1px solid var(--oc30-line);padding-block:14px}
  .woocommerce table.shop_table_responsive tr td{border:0!important}
  .woocommerce .cart-collaterals .cart_totals{padding:24px 18px}
}

@media(max-width:374px){
  :root{--oc30-gutter:16px}
  .oc30-shop+.oc30-page-section .oc-collection ul.products{gap:30px 8px}
  .oc-hero .oc-hero__cta{width:100%;flex-basis:100%}
  .oc-tools{gap:7px!important}
}

@media(prefers-reduced-motion:reduce){
  :root{--oc30-motion:0ms}
  .oc26-header .oc-nav a::after,.oc26-products .woocommerce ul.products li.product a img,.oc26-categories .oc-category-card img,.oc-post-card img{transition:none!important}
  .oc26-products .woocommerce ul.products li.product a:hover img,.oc26-categories .oc-category-card:hover img,.oc-post-card:hover img{transform:none}
}
