/*
Theme Name: The Artful Hour
Theme URI: https://theartfulhour.com
Author: The Artful Hour
Description: A warm, accessible creative-wellness theme with events, editorial content, and WooCommerce support.
Version: 1.1.4
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: artful-hour
*/

:root{--teal:#145c5e;--mauve:#665061;--sand:#d7c5a6;--plum:#53214f;--aqua:#dceff0;--ink:#4a3348;--paper:#fffdfa;--olive:#8b8a42;--shadow:0 8px 24px rgba(69,42,66,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Avenir Next",Avenir,"Trebuchet MS",sans-serif;line-height:1.52}img{max-width:100%;height:auto}a{color:var(--teal);text-decoration:none}.wrap{width:min(1180px,92vw);margin:auto}.screen-reader-text{position:absolute;left:-9999px}.topbar{background:linear-gradient(90deg,#4d3149,#665061);color:#fff;font-size:.88rem}.topbar .wrap{display:flex;justify-content:flex-end;gap:22px;padding:8px 0}.site-header{background:#fff;position:relative;z-index:5}.nav-row{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:16px 0}.brand{display:flex;align-items:center;gap:12px}.brand img{width:155px}.brand-text{font-family:Georgia,serif;color:var(--teal);font-size:1.45rem;font-style:italic}.menu{display:flex;list-style:none;gap:30px;margin:0;padding:0;align-items:center}.menu a{font-size:.88rem;color:#3f2940;text-transform:uppercase}.menu a:hover,.current-menu-item>a{color:var(--teal);border-bottom:2px solid var(--teal);padding-bottom:8px}.menu-toggle{display:none;border:0;background:var(--teal);color:#fff;padding:10px 14px;border-radius:5px}.hero{min-height:520px;display:grid;grid-template-columns:minmax(330px,46%) 1fr;align-items:center;gap:30px;padding:38px 0}.hero-image{min-height:460px;background-size:cover;background-position:center;border-radius:4px;box-shadow:var(--shadow)}.eyebrow{font-size:.92rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mauve)}h1,h2,.script{font-family:Georgia,"Times New Roman",serif;font-style:italic;color:var(--plum);line-height:1.03}h1{font-size:clamp(3.2rem,6vw,5.7rem);margin:.12em 0}.script{font-size:clamp(2rem,4vw,3.6rem);margin:.3em 0}h2{font-size:clamp(2.1rem,4vw,3.7rem)}h3{color:var(--teal);line-height:1.15}.lede{font-size:clamp(1.25rem,2.5vw,2rem);color:var(--teal);line-height:1.25}.btn,.button,button,input[type=submit],.wp-element-button{display:inline-block;background:var(--mauve)!important;color:#fff!important;padding:13px 25px;border:0;border-radius:4px;text-transform:uppercase;letter-spacing:.03em;font-weight:600}.btn.alt{background:transparent!important;border:1px solid var(--mauve);color:var(--mauve)!important}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}.values{background:linear-gradient(120deg,#4a3048,#665061);color:#fff}.value-grid,.feature-grid{display:grid;grid-template-columns:repeat(4,1fr)}.value,.feature{text-align:center;padding:26px 20px}.value+.value,.feature+.feature{border-left:1px solid rgba(255,255,255,.3)}.icon{display:block;font-size:2.4rem;color:#bfe8ea}.section{padding:58px 0}.section-title{text-align:center}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:#fff;border-radius:8px;box-shadow:var(--shadow);overflow:hidden}.card img{width:100%;aspect-ratio:4/3;object-fit:cover}.card-body{padding:18px}.card h3{margin:.1em 0 .45em}.brush{background:linear-gradient(90deg,transparent 2%,var(--aqua) 8%,var(--aqua) 92%,transparent 98%);padding:26px;text-align:center}.about-band{background:#eef9f8}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center}.quote{background:#f0e5f0;text-align:center;padding:22px;font-size:1.25rem}.events-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}.calendar{background:#fffaf5;padding:22px;border-radius:10px;box-shadow:var(--shadow)}.calendar table{width:100%;border-collapse:collapse;text-align:center}.calendar th,.calendar td{padding:10px;border:1px solid #eee}.has-event{background:var(--teal);color:#fff;border-radius:50%;display:inline-grid;place-items:center;width:34px;height:34px}.event-list{display:grid;gap:20px}.event-card{display:grid;grid-template-columns:230px 1fr auto;gap:22px;align-items:center;background:#fff;padding:14px;border-radius:9px;box-shadow:var(--shadow)}.event-card img{width:230px;height:170px;object-fit:cover;border-radius:6px}.event-date{color:var(--mauve);text-transform:uppercase;font-weight:700}.shop-grid .price{font-size:1.18rem;font-weight:800}.content-area{padding:50px 0}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.entry-content{max-width:820px;margin:auto}.site-footer{background:linear-gradient(100deg,#075e64,#00656a);color:#fff}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:35px;padding:44px 0}.site-footer a{color:#fff}.copyright{background:var(--mauve);text-align:center;padding:14px}.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:20px}.woocommerce ul.products li.product{width:auto!important;margin:0!important;background:#fff;padding:12px;border-radius:8px;box-shadow:var(--shadow)}
@media(max-width:900px){.menu-toggle{display:block}.primary-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;padding:18px;box-shadow:var(--shadow)}.primary-nav.open{display:block}.menu{flex-direction:column;gap:16px}.hero,.two-col,.events-layout{grid-template-columns:1fr}.hero-image{min-height:350px;order:-1}.cards,.value-grid,.feature-grid,.post-grid,.woocommerce ul.products{grid-template-columns:repeat(2,1fr)!important}.event-card{grid-template-columns:150px 1fr}.event-card img{width:150px}.event-card .btn{grid-column:2}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.topbar .wrap{justify-content:center;flex-wrap:wrap;gap:8px 15px}.brand img{width:112px}.hero{padding-top:18px}.hero-image{min-height:265px}h1{font-size:3.1rem}.cards,.value-grid,.feature-grid,.post-grid,.footer-grid,.woocommerce ul.products{grid-template-columns:1fr!important}.value+.value,.feature+.feature{border-left:0;border-top:1px solid rgba(255,255,255,.3)}.event-card{grid-template-columns:1fr}.event-card img{width:100%;height:210px}.event-card .btn{grid-column:auto}.actions .btn{width:100%;text-align:center}}

/* Desktop Gutenberg hero: override WordPress's narrow reading-width constraint. */
@media (min-width:901px){
  .tah-page-content .tah-editor-section:first-child{width:100%!important;max-width:none!important;margin:0!important;padding:48px 0!important}
  .tah-page-content .tah-editor-section:first-child>.tah-editor-hero,
  .tah-page-content .tah-editor-section:first-child>.wp-block-columns:first-child,
  .tah-page-content .tah-editor-section:first-child .wp-block-columns:first-of-type,
  .tah-page-content>.wp-block-columns:first-child{
    display:grid!important;
    grid-template-columns:minmax(440px,46%) minmax(0,54%)!important;
    align-items:center!important;
    gap:48px!important;
    width:calc(100vw - 96px)!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .tah-page-content .tah-editor-section:first-child .wp-block-columns:first-of-type>.wp-block-column,
  .tah-page-content .tah-editor-section:first-child>.tah-editor-hero>*{
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    flex:initial!important;
    flex-basis:auto!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .tah-page-content .tah-editor-section:first-child h1{
    font-size:clamp(3.75rem,5vw,5.25rem)!important;
    line-height:.98!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }
  .tah-page-content .tah-editor-section:first-child .wp-block-image,
  .tah-page-content .tah-editor-section:first-child .wp-block-image img{
    width:100%!important;
    max-width:none!important;
  }
  .tah-page-content .tah-editor-section:first-child .wp-block-image img{
    min-height:0!important;
    height:auto!important;
    aspect-ratio:4/3;
    object-fit:cover;
  }
}

/* WordPress 6.x adds an inner-container around Group block contents.
   Apply the About/Shop desktop grid to that two-child container. */
@media (min-width:901px){
  .tah-about-page .tah-editor-hero,
  .tah-shop-page .tah-editor-hero{
    display:block!important;
    width:calc(100vw - 96px)!important;
    max-width:1180px!important;
    margin:0 auto 46px!important;
    padding:0!important;
  }
  .tah-about-page .tah-editor-hero>.wp-block-group__inner-container,
  .tah-shop-page .tah-editor-hero>.wp-block-group__inner-container{
    display:grid!important;
    grid-template-columns:minmax(440px,46%) minmax(0,54%)!important;
    align-items:center!important;
    gap:48px!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }
  .tah-about-page .tah-editor-hero>.wp-block-group__inner-container>*,
  .tah-shop-page .tah-editor-hero>.wp-block-group__inner-container>*{
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
  }
  .tah-about-page .tah-editor-hero>.wp-block-group__inner-container>.wp-block-group>.wp-block-group__inner-container,
  .tah-shop-page .tah-editor-hero>.wp-block-group__inner-container>.wp-block-group>.wp-block-group__inner-container{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
  .tah-about-page .tah-editor-hero h1,
  .tah-shop-page .tah-editor-hero h1{
    font-size:clamp(3.75rem,5vw,5.25rem)!important;
    line-height:.98!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }
  .tah-about-page .tah-editor-hero .wp-block-image,
  .tah-shop-page .tah-editor-hero .wp-block-image{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
  .tah-about-page .tah-editor-hero .wp-block-image img,
  .tah-shop-page .tah-editor-hero .wp-block-image img{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:4/3;
    object-fit:cover;
  }
}

/* About and Shop desktop heroes. These selectors follow the saved block hierarchy
   so WordPress cannot collapse the hero back to its default reading width. */
@media (min-width:901px){
  .tah-about-page>.wp-block-group:first-child,
  .tah-shop-page>.wp-block-group:first-child{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:48px 0 58px!important;
  }
  .tah-about-page>.wp-block-group:first-child>.wp-block-group:first-child,
  .tah-about-page>.wp-block-group:first-child>.wp-block-columns:first-child,
  .tah-shop-page>.wp-block-group:first-child>.wp-block-group:first-child,
  .tah-shop-page>.wp-block-group:first-child>.wp-block-columns:first-child{
    display:grid!important;
    grid-template-columns:minmax(440px,46%) minmax(0,54%)!important;
    align-items:center!important;
    gap:48px!important;
    width:calc(100vw - 96px)!important;
    max-width:1180px!important;
    margin:0 auto 46px!important;
  }
  .tah-about-page>.wp-block-group:first-child>.wp-block-group:first-child>*,
  .tah-about-page>.wp-block-group:first-child>.wp-block-columns:first-child>*,
  .tah-shop-page>.wp-block-group:first-child>.wp-block-group:first-child>*,
  .tah-shop-page>.wp-block-group:first-child>.wp-block-columns:first-child>*{
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    flex:initial!important;
    flex-basis:auto!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .tah-about-page>.wp-block-group:first-child>.wp-block-group:first-child h1,
  .tah-shop-page>.wp-block-group:first-child>.wp-block-group:first-child h1{
    font-size:clamp(3.75rem,5vw,5.25rem)!important;
    line-height:.98!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }
  .tah-about-page>.wp-block-group:first-child>.wp-block-group:first-child .wp-block-image,
  .tah-shop-page>.wp-block-group:first-child>.wp-block-group:first-child .wp-block-image{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
  .tah-about-page>.wp-block-group:first-child>.wp-block-group:first-child .wp-block-image img,
  .tah-shop-page>.wp-block-group:first-child>.wp-block-group:first-child .wp-block-image img{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:4/3;
    object-fit:cover;
  }
  .tah-about-page>.wp-block-group:first-child>h2,
  .tah-about-page>.wp-block-group:first-child>p,
  .tah-shop-page>.wp-block-group:first-child>h2,
  .tah-shop-page>.wp-block-group:first-child>p,
  .tah-shop-page>.wp-block-group:first-child>.wp-block-shortcode{
    width:calc(100vw - 96px)!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}
