/*
Theme Name: oh-olio
Theme URI: https://example.com/
Description: Square-edged, Gutenberg-first Genesis child theme with WooCommerce readiness.
Author: Site Owner
Version: 0.1.15
Template: genesis
Text Domain: oh-olio
Requires PHP: 8.3
*/
:root{--oh-cyan:#009cdd;--oh-magenta:#d60078;--oh-yellow:#f4e400;--oh-black:#211e16;--oh-white:#fff;--oh-gap:24px;--oh-site-width:1440px;--oh-content-width:820px;--oh-heading-font:'gastromond',Georgia,'Times New Roman',serif;--oh-body-font:'futura-pt','Century Gothic',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--oh-white);color:var(--oh-black);font:500 18px/1.5 var(--oh-body-font)}img,video,svg{max-width:100%;height:auto}button,input,textarea,select{font:inherit}a{color:inherit;text-underline-offset:.15em}a:hover{color:var(--oh-magenta)}h1,h2,h3,h4,h5,h6{font-family:var(--oh-heading-font);font-weight:400;line-height:1.08;margin:0 0 .6em}h1{font-size:clamp(3.2rem,8vw,8rem)}h2{font-size:clamp(2.4rem,5vw,5rem)}h3{font-size:clamp(1.8rem,3vw,3rem)}p{margin:0 0 1.25em}button,.button,input[type=submit],.wp-block-button__link,.woocommerce a.button,.woocommerce button.button{border-radius:0!important;background:var(--oh-black);color:#fff;border:1px solid var(--oh-black);padding:.75em 1.3em;cursor:pointer;text-decoration:none}button:hover,.button:hover,.wp-block-button__link:hover{background:var(--oh-magenta);border-color:var(--oh-magenta);color:#fff}img,.wp-block-image img,.wp-block-cover,.wp-block-gallery img,.woocommerce img{border-radius:0!important}.site-container{overflow:clip}.site-header{background:#fff;border-bottom:1px solid #211e1620}.site-header .wrap{max-width:var(--oh-site-width);margin:auto;padding:18px clamp(20px,4vw,60px);display:flex;align-items:center;justify-content:space-between;gap:24px}.title-area{flex:0 0 auto}.site-title{font-family:var(--oh-heading-font);font-size:2rem;margin:0}.site-title a{text-decoration:none}.site-description{position:absolute;clip:rect(0,0,0,0)}.oh-logo{display:block;max-width:220px}.oh-logo img{display:block;width:auto;max-height:90px}.nav-primary .wrap{width:auto}.genesis-nav-menu{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(12px,2vw,32px);list-style:none;padding:0;margin:0}.genesis-nav-menu li{position:relative;list-style:none}.genesis-nav-menu a{display:block;text-decoration:none;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.85rem}.genesis-nav-menu .sub-menu{display:none;position:absolute;z-index:20;top:100%;left:0;min-width:200px;padding:15px;background:#fff;box-shadow:0 8px 24px #0002}.genesis-nav-menu li:hover>.sub-menu,.genesis-nav-menu li:focus-within>.sub-menu{display:block}.site-inner{max-width:var(--oh-site-width);padding:clamp(32px,5vw,80px) clamp(20px,4vw,60px);margin:auto}.content-sidebar-wrap{display:flex;gap:50px}.content{min-width:0;flex:1}.sidebar{width:280px;flex-shrink:0}.entry{margin-bottom:60px}.entry-content>*{max-width:var(--oh-content-width);margin-left:auto;margin-right:auto}.entry-content>.alignwide{max-width:1100px}.entry-content>.alignfull{max-width:none;width:calc(100% + 2 * clamp(20px,4vw,60px));margin-left:calc(-1 * clamp(20px,4vw,60px))}.entry-title a{text-decoration:none}.site-footer{border-top:1px solid #211e1620;padding:24px clamp(20px,4vw,60px);text-align:center}.site-footer p{margin:0}.oh-grid{display:grid;grid-template-columns:repeat(var(--oh-cols,3),minmax(0,1fr));gap:var(--oh-grid-gap,24px)}.oh-card{min-width:0}.oh-card>a{display:block;text-decoration:none}.oh-card-media{aspect-ratio:var(--oh-ratio,4/3);overflow:hidden;background:#eee}.oh-card-media img,.oh-card-media video{width:100%;height:100%;object-fit:cover;display:block}.oh-card h3{font-family:var(--oh-body-font);font-weight:700;font-size:1.15rem;margin:.65em 0 .2em}.oh-card p{font-size:.95rem}.oh-carousel{position:relative;--oh-slide-width:72%;--oh-slide-gap:24px}.oh-carousel-track{display:flex;gap:var(--oh-slide-gap);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;scrollbar-width:none;overscroll-behavior-inline:contain}.oh-carousel-track::-webkit-scrollbar{display:none}.oh-slide{flex:0 0 var(--oh-slide-width);min-width:0;scroll-snap-align:start}.oh-slide img,.oh-slide video{width:100%;display:block;object-fit:cover}.oh-carousel-controls{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}.oh-carousel-controls button{padding:.35em .8em}.oh-ticker{overflow:hidden;background:var(--oh-black);color:#fff;padding:18px 0}.oh-ticker-track{display:flex;align-items:center;width:max-content;animation:oh-marquee var(--oh-speed,35s) linear infinite}.oh-ticker-group{display:flex;align-items:center;flex:none;gap:32px;padding-right:32px}.oh-ticker-text{white-space:nowrap;font-size:clamp(2rem,5vw,5rem);line-height:1.2;font-weight:700;text-transform:uppercase}.oh-ticker:hover .oh-ticker-track{animation-play-state:paused}@keyframes oh-marquee{to{transform:translateX(-50%)}}.woocommerce ul.products li.product img{border-radius:0}.woocommerce .quantity .qty{padding:8px}.oh-mobile-toggle{display:none}.oh-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:800px){.site-header .wrap{flex-wrap:wrap}.oh-mobile-toggle{display:block;margin-left:auto}.nav-primary{display:none;width:100%}.nav-primary.is-open{display:block}.genesis-nav-menu{display:block}.genesis-nav-menu a{padding:10px 0}.genesis-nav-menu .sub-menu{position:static;display:block;box-shadow:none;padding:0 0 0 20px}.content-sidebar-wrap{display:block}.sidebar{width:auto}.oh-grid{grid-template-columns:repeat(min(var(--oh-cols,3),2),minmax(0,1fr))}.oh-carousel{--oh-slide-width:85%}}@media(max-width:520px){.oh-grid{grid-template-columns:1fr}.oh-carousel{--oh-slide-width:88%}.oh-ticker-group{gap:18px;padding-right:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.oh-ticker-track{animation:none}.oh-carousel-track{scroll-behavior:auto}}

.title-area:has(.oh-logo) .site-title{display:none}.oh-carousel-track{scroll-behavior:smooth}.oh-slide{margin:0}.oh-slide figcaption{padding-top:8px}

/* 0.1.3 layout refinements */
.site-header .wrap,.nav-primary,.genesis-nav-menu{align-items:center}.home .sidebar,.front-page .sidebar{display:none}.home .content-sidebar-wrap{display:block}.home .content{width:100%;max-width:none}.oh-copyright{font-size:.75rem}.oh-footer-widgets{max-width:var(--oh-site-width);margin:auto;padding:32px clamp(20px,4vw,60px)}.oh-canvas .site-inner{max-width:none;padding:0}.oh-canvas .content-sidebar-wrap{display:block}.oh-canvas .content{width:100%}.oh-canvas .entry-content>*{max-width:none}.oh-full-width .content-sidebar-wrap{display:block}.oh-full-width .content{width:100%;max-width:none}.oh-full-width .sidebar{display:none}

/* v0.1.4: full-width homepage, ordered footer, responsive column widgets */
.home .site-inner,.page-template-full-width .site-inner{max-width:var(--oh-site-width)}
.home .content-sidebar-wrap,.page-template-full-width .content-sidebar-wrap{display:block}
.home .content,.page-template-full-width .content{width:100%;max-width:none}
.home .sidebar,.page-template-full-width .sidebar{display:none}
.oh-footer-widgets{max-width:none;margin:0;padding:0;border-top:1px solid #211e1620}
.oh-footer-widgets-inner{max-width:var(--oh-site-width);margin:0 auto;padding:clamp(30px,4vw,60px) clamp(20px,4vw,60px);display:grid;gap:clamp(20px,3vw,48px)}
.oh-footer-cols-2{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.oh-footer-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.oh-footer-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.oh-footer-column{min-width:0}.oh-footer-widget{margin:0 0 1.5rem}
.site-footer .oh-copyright{font-size:.75rem;font-weight:500}
@media(max-width:800px){.oh-footer-cols-3,.oh-footer-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.oh-footer-widgets-inner{grid-template-columns:1fr}}

/* v0.1.5 — real template widths, centered desktop navigation, mobile menu */
.site-header .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}
.site-header .title-area{grid-column:1;grid-row:1;justify-self:start}
.site-header .nav-primary{grid-column:2;grid-row:1;display:block;width:auto}
.site-header .oh-mobile-toggle{grid-column:3;grid-row:1;justify-self:end}
.site-header .nav-primary .wrap{display:block;padding:0;max-width:none}
.site-header .genesis-nav-menu{justify-content:center}
/* Default remains a narrower editorial page; Full Width uses the site width. */
.page:not(.home):not(.oh-full-width):not(.oh-canvas) .content-sidebar-wrap{max-width:var(--oh-site-width);margin-inline:auto}
.oh-full-width .entry-content>*:not(.alignwide):not(.alignfull),
.page-template-full-width .entry-content>*:not(.alignwide):not(.alignfull){max-width:none}
.oh-full-width .entry-content>.alignwide,.page-template-full-width .entry-content>.alignwide{max-width:none}
.oh-full-width .entry-content>.alignfull,.page-template-full-width .entry-content>.alignfull{width:100%;margin-inline:0}
.oh-full-width .content-sidebar-wrap,.page-template-full-width .content-sidebar-wrap{width:100%;max-width:none}
.oh-canvas .site-inner{max-width:var(--oh-site-width);padding:clamp(32px,5vw,80px) clamp(20px,4vw,60px)}
.oh-canvas .entry-content>*{max-width:none}
.oh-canvas .oh-footer-widgets,.oh-canvas .oh-ticker{display:none!important}

.oh-ticker-group{font-size:clamp(2rem,5vw,5rem)}
.oh-ticker-text{font-size:1em}
.oh-mobile-toggle{display:none;border:0;background:transparent;color:var(--oh-black);padding:12px;min-width:44px;min-height:44px}
.oh-mobile-toggle:hover,.oh-mobile-toggle:focus-visible{background:transparent;color:var(--oh-black)}
.oh-hamburger{display:flex;width:26px;height:20px;flex-direction:column;justify-content:space-between}
.oh-hamburger span{height:2px;width:100%;background:currentColor;display:block;transition:transform .2s ease,opacity .2s ease;transform-origin:center}
.oh-mobile-toggle.is-open .oh-hamburger span:first-child{transform:translateY(9px) rotate(45deg)}
.oh-mobile-toggle.is-open .oh-hamburger span:nth-child(2){opacity:0}
.oh-mobile-toggle.is-open .oh-hamburger span:last-child{transform:translateY(-9px) rotate(-45deg)}
@media(max-width:800px){
 .site-header .wrap{grid-template-columns:minmax(0,1fr) auto;gap:0}
 .site-header .oh-mobile-toggle{display:block;grid-column:2;grid-row:1}
 .site-header .nav-primary{display:none;grid-column:1/-1;grid-row:2;width:100%;padding-top:16px}
 .site-header .nav-primary.is-open{display:block}
 .site-header .genesis-nav-menu{display:block;text-align:left}
 .site-header .nav-primary .wrap{display:block}
}
@media(prefers-reduced-motion:reduce){.oh-hamburger span{transition:none}}

/* v0.1.6: Customizer ticker colors and single-definition inline SVG separators. */
.oh-ticker{background:var(--oh-ticker-background,#211e16);color:var(--oh-ticker-text,#fff)}
.oh-ticker-definitions{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.oh-ticker-separator{display:block;width:.52em;height:.52em;flex:none;overflow:visible;fill:var(--oh-ticker-separator,#fff)}

/* v0.1.7: shared region colors; no header/footer divider strokes. */
body{background:var(--oh-olio-main-bg,#fff);color:var(--oh-olio-main-text,#211e16)}
.site-header{background:var(--oh-olio-header-bg,#fff);color:var(--oh-olio-header-text,#211e16);border:0}
.site-header a,.site-header .genesis-nav-menu a{color:inherit}
.site-header a:hover,.site-header a:focus-visible,.site-header .genesis-nav-menu a:hover,.site-header .genesis-nav-menu a:focus-visible{color:var(--oh-olio-header-hover,#d60078)}
.site-header .genesis-nav-menu .sub-menu{background:var(--oh-olio-header-bg,#fff)}
.oh-mobile-toggle,.oh-mobile-toggle:hover,.oh-mobile-toggle:focus-visible{color:var(--oh-olio-header-text,#211e16)}
.site-header .oh-mobile-toggle:hover,.site-header .oh-mobile-toggle:focus-visible{color:var(--oh-olio-header-hover,#d60078)}
.site-inner a:hover,.site-inner a:focus-visible{color:var(--oh-olio-main-hover,#d60078)}
.site-footer,.oh-footer-widgets{background:var(--oh-olio-footer-bg,#fff);color:var(--oh-olio-footer-text,#211e16);border:0}
.oh-footer-widgets a,.site-footer a{color:inherit}
.oh-footer-widgets a:hover,.oh-footer-widgets a:focus-visible,.site-footer a:hover,.site-footer a:focus-visible{color:var(--oh-olio-footer-hover,#d60078)}
button,.button,input[type=submit],.wp-block-button__link,.woocommerce a.button,.woocommerce button.button{background:var(--oh-olio-button-bg,#211e16);color:var(--oh-olio-button-text,#fff);border-color:var(--oh-olio-button-bg,#211e16)}
button:hover,.button:hover,input[type=submit]:hover,.wp-block-button__link:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--oh-olio-button-hover-bg,#d60078);color:var(--oh-olio-button-hover-text,#fff);border-color:var(--oh-olio-button-hover-bg,#d60078)}
.site-header .oh-mobile-toggle,.site-header .oh-mobile-toggle:hover,.site-header .oh-mobile-toggle:focus-visible{background:transparent;border:0}
.oh-header-social{grid-column:3;grid-row:1;justify-self:end;display:flex;align-items:center}
.oh-social-links{display:flex;align-items:center;flex-wrap:wrap;gap:var(--oh-social-gap,14px)}
.oh-social-links a{display:inline-flex;align-items:center;justify-content:center;width:var(--oh-social-size,22px);height:var(--oh-social-size,22px);color:inherit;text-decoration:none}
.oh-social-links svg{display:block;width:100%;height:100%;fill:currentColor}
.oh-social-links a:hover,.oh-social-links a:focus-visible{color:var(--oh-olio-header-hover,#d60078)}
.oh-mobile-social{display:none}
@media(max-width:800px){
 .oh-header-social{display:none}
 .oh-mobile-social{display:block;margin-top:24px;padding-top:16px}
 .oh-mobile-social .oh-social-links{justify-content:flex-start}
 .site-header .nav-primary{background:var(--oh-olio-header-bg,#fff);color:var(--oh-olio-header-text,#211e16)}
}

/* v0.1.8: WordPress core Social Link icons and pointer-aware ticker hover. */
.oh-social-links svg{max-width:none;height:100%;width:100%;flex:none;fill:currentColor}
@media (hover: none), (pointer: coarse){.oh-ticker:hover .oh-ticker-track{animation-play-state:running}}
@media (prefers-reduced-motion:reduce){.oh-ticker:hover .oh-ticker-track{animation-play-state:paused}}

/* v0.1.9: a single image logo; prevent Genesis custom-header backgrounds and clipping. */
.site-header .title-area,
.site-header .site-title,
.site-header .site-title a { background-image:none!important; }
.site-header .title-area { overflow:visible; min-height:0; }
.site-header .oh-logo { max-width:220px; }
.site-header .oh-logo img { width:auto; height:auto; max-width:100%; max-height:90px; object-fit:contain; }

/* v0.1.10: heading sizes and other typography are configured through Customizer-generated CSS. */

/* v0.1.11: button links have their own hover colors, independent of text links. */
.site-inner a.wp-block-button__link:hover,.site-inner a.wp-block-button__link:focus-visible,
.site-inner a.button:hover,.site-inner a.button:focus-visible,
.site-inner .wp-block-buttons a.wp-element-button:hover,.site-inner .wp-block-buttons a.wp-element-button:focus-visible,
.site-inner .gb-block-button a:hover,.site-inner .gb-block-button a:focus-visible,
.site-inner .wp-block-jetpack-button a:hover,.site-inner .wp-block-jetpack-button a:focus-visible{
 color:var(--oh-olio-button-hover-text,#fff);background-color:var(--oh-olio-button-hover-bg,#d60078);border-color:var(--oh-olio-button-hover-bg,#d60078);
}
/* Button controls take precedence over inherited main-link typography and decoration. */
.site-inner .wp-block-button__link,.site-inner a.button,.site-inner .wp-block-buttons a.wp-element-button{text-decoration:none}

/* v0.1.14 — Canvas is content-only apart from the copyright footer. */
.oh-canvas .site-inner{max-width:var(--oh-site-width);padding:0 clamp(20px,4vw,60px);margin-inline:auto}
.oh-canvas .content-sidebar-wrap{display:block;width:100%}
.oh-canvas .content{width:100%;max-width:none}
.oh-canvas .sidebar{display:none}
.oh-canvas .entry-content>*{max-width:none}
.oh-canvas .entry-content>.alignfull{width:calc(100% + 2 * clamp(20px,4vw,60px));margin-left:calc(-1 * clamp(20px,4vw,60px))}


/* v0.1.15 — Social Icons: square by default, adjustable via Gutenberg radius. */
.wp-block-social-links.is-style-pill-shape,
.wp-block-social-links.is-style-default { border-radius: 0; }
.wp-block-social-links.is-style-pill-shape .wp-social-link,
.wp-block-social-links.is-style-default .wp-social-link { border-radius: inherit; }
/* The selected radius is set on the Social Icons parent by Gutenberg. Its
   inline style takes precedence over the zero-radius theme default. */
