/*
Theme Name: Casy's Gift Shoppe
Theme URI: https://casysgiftshoppe.com
Author: Casy's Gift Shoppe
Author URI: https://casysgiftshoppe.com
Description: A vibrant WooCommerce theme for handcrafted wire jewelry and giftable keepsakes. Plum, coral, teal, marigold, and warm paper tones, with a Square-ready checkout and full Customizer control over brand, colors, and copy. Edit products in WooCommerce; edit the look in Appearance → Customize.
Version: 1.1.1
Requires at least: 6.2
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: casys-gift-shoppe
Tags: e-commerce, custom-colors, custom-logo, custom-menu, featured-images, theme-options, translation-ready
WC requires at least: 10.7
WC tested up to: 10.9
*/

/* =========================================================
   Design tokens — overridden live by the Customizer
   (see functions.php casys_dynamic_css()).
   ========================================================= */
:root{
  --navy:#1c2b4a; --navy-deep:#13203a;
  --cream:#f7f1e6; --cream-2:#efe6d6;
  --ink:#2a2620; --accent:#bb9558; --accent-deep:#97743f;
  --line:rgba(28,43,74,.14); --line-light:rgba(246,242,234,.16); --muted:#6a7184;
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"Jost","Helvetica Neue",Arial,sans-serif;
  --maxw:1240px; --gut:clamp(20px,5vw,64px); --radius:2px;
  --shadow:0 18px 50px -28px rgba(19,32,58,.45); --shadow-soft:0 10px 30px -20px rgba(19,32,58,.4);
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);font-weight:300;color:var(--ink);background:var(--cream);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.08;margin:0;letter-spacing:.01em;color:var(--navy)}
p{margin:0 0 1em}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
.eyebrow{font-family:var(--sans);font-size:.72rem;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--accent-deep);margin:0 0 .9rem}
.eyebrow.on-dark{color:var(--accent)}
.center{text-align:center}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:1rem;top:1rem;background:var(--navy);color:var(--cream);padding:.6rem 1rem;z-index:200}

/* ---------- Buttons (also map WooCommerce buttons) ---------- */
.btn,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce #respond input#submit,
.woocommerce .widget_price_filter .price_slider_amount .button{
  display:inline-flex;align-items:center;gap:.55em;justify-content:center;
  font-family:var(--sans);font-size:.78rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
  padding:.95em 1.8em;border:1px solid var(--navy);background:var(--navy);color:var(--cream);
  border-radius:var(--radius);transition:.35s var(--ease);line-height:1;text-decoration:none;
}
.btn:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce #respond input#submit:hover{
  background:var(--navy-deep);border-color:var(--navy-deep);color:var(--cream);transform:translateY(-1px)
}
.btn--ghost{background:transparent;color:var(--navy)}
.btn--ghost:hover{background:var(--navy);color:var(--cream)}
.btn--gold,.woocommerce #respond input#submit.alt,.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--accent);border-color:var(--accent);color:#fff}
.btn--gold:hover{background:var(--accent-deep);border-color:var(--accent-deep)}
.btn--light{background:transparent;border-color:var(--cream);color:var(--cream)}
.btn--light:hover{background:var(--cream);color:var(--navy)}
.btn--block{display:flex;width:100%}
.btn--sm{padding:.7em 1.2em;font-size:.7rem}
.link-underline{font-size:.78rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--navy);border-bottom:1px solid var(--accent);padding-bottom:3px;transition:.3s var(--ease)}
.link-underline:hover{color:var(--accent-deep);letter-spacing:.22em}

/* ---------- Announcement ---------- */
.announce{background:var(--navy-deep);color:var(--cream);text-align:center;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;padding:.6rem 1rem;font-weight:300}
.announce strong{color:var(--accent);font-weight:500}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:60;background:var(--cream);border-bottom:1px solid var(--line);transition:box-shadow .4s var(--ease)}
.site-header.scrolled{box-shadow:var(--shadow-soft)}
.header-inner{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;min-height:84px}
.nav{display:flex;gap:2rem;align-items:center;margin:0;padding:0;list-style:none}
.nav a{font-size:.76rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);position:relative;padding:.4rem 0;transition:.3s var(--ease)}
.nav a::after{content:"";position:absolute;left:0;bottom:-2px;height:1px;width:0;background:var(--accent);transition:width .3s var(--ease)}
.nav a:hover::after,.nav .current-menu-item>a::after,.nav .current_page_item>a::after{width:100%}
.nav .current-menu-item>a,.nav .current_page_item>a{color:var(--navy)}
.brand-lockup{display:flex;flex-direction:column;align-items:center;gap:.1rem;justify-self:center}
.brand-lockup .name{font-family:var(--serif);font-size:1.5rem;font-weight:600;letter-spacing:.06em;color:var(--navy);line-height:1;white-space:nowrap}
.brand-lockup .tag{font-size:.56rem;letter-spacing:.34em;text-transform:uppercase;color:var(--accent-deep);margin-top:.25rem}
.brand-lockup img.logo__img{max-height:50px;width:auto}
.header-actions{display:flex;gap:1.1rem;align-items:center;justify-self:end}
.icon-btn{background:none;border:none;color:var(--ink);padding:.3rem;position:relative;display:inline-flex;transition:.3s var(--ease)}
.icon-btn:hover{color:var(--accent-deep)}
.cart-count{position:absolute;top:-6px;right:-8px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--accent);color:#fff;font-size:.6rem;font-weight:600;display:grid;place-items:center;letter-spacing:0}
.cart-count[data-empty="true"]{display:none}
.hamburger{display:none;background:none;border:none;color:var(--ink);padding:.3rem}

/* ---------- Hero ---------- */
.hero{position:relative;background:var(--cream);overflow:hidden;border-bottom:1px solid var(--line)}
.hero-grid{max-width:var(--maxw);margin:0 auto;padding:clamp(3rem,7vw,6rem) var(--gut);display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.hero-copy h1{font-size:clamp(2.6rem,6vw,4.6rem);font-weight:500;color:var(--navy);margin:.3rem 0 .4rem}
.hero-copy h1 em{font-style:italic;color:var(--accent-deep)}
.hero-copy .lede{font-size:1.08rem;color:var(--muted);max-width:42ch;margin-bottom:2rem}
.hero-cta{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.hero-art{position:relative;min-height:380px;display:grid;place-items:center}
.hero-art svg{width:100%;height:auto;max-width:480px;filter:drop-shadow(0 24px 40px rgba(19,32,58,.18))}
.hero-badge{position:absolute;bottom:8%;left:6%;background:var(--navy);color:var(--cream);padding:.8rem 1.1rem;border-radius:var(--radius);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;box-shadow:var(--shadow)}
.hero-badge strong{display:block;font-family:var(--serif);font-size:1.4rem;letter-spacing:.02em;color:var(--accent);text-transform:none}

/* ---------- Sections ---------- */
.section{padding:clamp(3.5rem,7vw,6rem) 0}
.section--cream2{background:var(--cream-2)}
.section--navy{background:var(--navy);color:var(--cream)}
.section--navy h2,.section--navy h3{color:var(--cream)}
.section-head{max-width:640px;margin:0 auto 2.6rem;text-align:center}
.section-head h2{font-size:clamp(2rem,4vw,2.9rem)}
.section-head p{color:var(--muted);margin-top:.7rem}
.section--navy .section-head p{color:rgba(246,242,234,.7)}

/* ---------- Product grid (custom + WooCommerce loop) ---------- */
.grid{display:grid;gap:clamp(1.4rem,3vw,2.4rem)}
.grid--4{grid-template-columns:repeat(4,1fr)}
.grid--3{grid-template-columns:repeat(3,1fr)}
.woocommerce ul.products{display:grid !important;gap:clamp(1.4rem,3vw,2.4rem);margin:0;padding:0;list-style:none}
.woocommerce ul.products.columns-3{grid-template-columns:repeat(3,1fr)}
.woocommerce ul.products.columns-4,.woocommerce ul.products{grid-template-columns:repeat(4,1fr)}
.woocommerce ul.products li.product{margin:0 !important;width:auto !important;float:none !important;text-align:left;background:var(--cream);transition:transform .4s var(--ease)}
.woocommerce ul.products li.product:hover{transform:translateY(-4px)}
.card,.woocommerce ul.products li.product{position:relative;display:flex;flex-direction:column}
.card-media,.woocommerce ul.products li.product>a img{position:relative}
.card-media{aspect-ratio:4/5;overflow:hidden;background:var(--cream-2);border:1px solid var(--line)}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.card:hover .card-media img{transform:scale(1.04)}
.woocommerce ul.products li.product a img{margin:0 0 0;border:1px solid var(--line);aspect-ratio:4/5;object-fit:cover;background:var(--cream-2);transition:transform .8s var(--ease)}
.woocommerce ul.products li.product:hover a img{transform:scale(1.04)}
.casys-wire-img{width:100%;height:100%;object-fit:cover;display:block;background:var(--cream-2);aspect-ratio:4/5}
.woocommerce div.product div.images .casys-wire-img,.woocommerce div.product div.images img.casys-wire-img{aspect-ratio:4/5}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--serif);font-size:1.32rem;font-weight:500;color:var(--navy);padding:.4rem 0 0;line-height:1.1}
.woocommerce ul.products li.product .price{color:var(--ink);font-size:.92rem;font-weight:300}
.woocommerce ul.products li.product .price del{color:var(--muted);font-weight:300;margin-right:.4em}
.woocommerce ul.products li.product .price ins{text-decoration:none;color:var(--accent-deep)}
.woocommerce ul.products li.product .button{margin-top:.6rem;font-size:.7rem;padding:.7em 1.2em}
.woocommerce span.onsale,.card-tag{position:absolute;top:10px;left:10px;background:var(--cream);color:var(--accent-deep);font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;padding:.32em .7em;border:1px solid var(--line);min-height:auto;min-width:auto;line-height:1.6;border-radius:0;margin:0}
.card-tag--sold{background:var(--navy);color:var(--cream);border-color:var(--navy)}
.card-body{padding:1rem .2rem .2rem;display:flex;flex-direction:column;gap:.18rem}
.card-cat{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.card-name{font-family:var(--serif);font-size:1.32rem;font-weight:500;color:var(--navy);line-height:1.1}
.card-material{font-size:.8rem;color:var(--muted);font-style:italic;font-family:var(--serif)}
.card-price{font-size:.92rem;color:var(--ink);margin-top:.3rem}

/* ---------- Category banner ---------- */
.cat-banner{position:relative;background:var(--navy);color:var(--cream);text-align:center;padding:clamp(3rem,6vw,5rem) var(--gut);overflow:hidden}
.cat-banner h1{font-size:clamp(2.4rem,5vw,3.8rem);color:var(--cream)}
.cat-banner p{color:rgba(246,242,234,.72);max-width:46ch;margin:.8rem auto 0}
.cat-banner .eyebrow{color:var(--accent)}

/* ---------- Home category promos ---------- */
.cat-promos{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.promo{position:relative;aspect-ratio:3/4;overflow:hidden;border:1px solid var(--line);display:flex;align-items:flex-end;color:var(--cream)}
.promo .promo-bg{position:absolute;inset:0;width:100%;height:100%}
.promo-inner{position:relative;z-index:2;padding:1.6rem;width:100%}
.promo h3{font-size:1.9rem;color:#fff}
.promo .link-underline{color:#fff;border-color:var(--accent)}
.promo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(19,32,58,.7),rgba(19,32,58,.05));z-index:1}

/* ---------- Trust band ---------- */
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem;text-align:center}
.trust .item .ic{width:44px;height:44px;margin:0 auto 1rem;color:var(--accent)}
.trust h3{font-size:1.5rem;margin-bottom:.4rem}
.trust p{font-size:.9rem;color:rgba(246,242,234,.72);margin:0}

/* ---------- About ---------- */
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.about-portrait{position:relative;aspect-ratio:4/5;border:1px solid var(--line);overflow:hidden;background:var(--cream-2)}
.about-portrait svg,.about-portrait img{width:100%;height:100%;object-fit:cover}
.about-portrait .stamp{position:absolute;bottom:-1px;right:-1px;background:var(--accent);color:#fff;font-family:var(--serif);font-size:1.1rem;padding:.7rem 1.1rem;letter-spacing:.04em}
.about-copy h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:1rem}
.about-copy .sig{font-family:var(--serif);font-style:italic;font-size:1.8rem;color:var(--accent-deep);margin-top:1.4rem}
.about-stats{display:flex;gap:2.4rem;margin-top:2rem;flex-wrap:wrap}
.about-stats .stat b{font-family:var(--serif);font-size:2.2rem;color:var(--navy);font-weight:500;display:block;line-height:1}
.about-stats .stat span{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

/* ---------- Newsletter ---------- */
.newsletter{text-align:center;max-width:560px;margin:0 auto}
.newsletter .field{display:flex;gap:.6rem;margin-top:1.6rem;flex-wrap:wrap;justify-content:center}
.newsletter input{flex:1;min-width:240px;padding:.95em 1.1em;border:1px solid var(--line-light);background:transparent;color:var(--cream);font-family:var(--sans);font-size:.9rem;border-radius:var(--radius)}
.newsletter input::placeholder{color:rgba(246,242,234,.5)}
.newsletter input:focus{outline:none;border-color:var(--accent)}

/* ---------- WooCommerce: single product ---------- */
.woocommerce div.product{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.woocommerce div.product div.images{margin:0}
.woocommerce div.product div.images img{border:1px solid var(--line);background:var(--cream-2)}
.woocommerce div.product .product_title{font-size:clamp(2.2rem,4vw,3.2rem);color:var(--navy);margin-bottom:.3rem}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--ink);font-size:1.3rem;font-weight:300}
.woocommerce div.product p.price ins{text-decoration:none;color:var(--accent-deep)}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--muted);margin:1.2rem 0}
.woocommerce div.product form.cart{margin:1.6rem 0}
.woocommerce div.product form.cart .quantity input{height:48px;border:1px solid var(--line);background:var(--cream);width:70px;text-align:center;font-family:var(--sans)}
.woocommerce div.product form.cart .button{padding:1em 2.2em}
.woocommerce .woocommerce-tabs ul.tabs{padding:0;margin:0 0 1rem;border:none}
.woocommerce .woocommerce-tabs ul.tabs li{background:none;border:none;border-bottom:1px solid var(--line)}
.woocommerce .woocommerce-tabs ul.tabs li a{color:var(--muted);font-family:var(--sans);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase}
.woocommerce .woocommerce-tabs ul.tabs li.active a{color:var(--navy)}
.woocommerce div.product .product_meta{font-size:.82rem;color:var(--muted);border-top:1px solid var(--line);padding-top:1rem}

/* ---------- WooCommerce: cart / checkout / account / notices ---------- */
.woocommerce-cart .wrap,.woocommerce-checkout .wrap,.woocommerce-account .wrap{padding-top:2.5rem;padding-bottom:4rem}
.woocommerce table.shop_table{border:1px solid var(--line);border-radius:var(--radius)}
.woocommerce table.shop_table th{font-family:var(--sans);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.woocommerce-cart table.cart img{width:72px;border:1px solid var(--line)}
.woocommerce .cart-collaterals .cart_totals>h2,.woocommerce-checkout h3{font-family:var(--serif)}
.woocommerce #payment,.woocommerce-checkout #payment{background:var(--cream-2);border-radius:var(--radius)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,
.select2-container--default .select2-selection--single{border:1px solid var(--line);background:var(--cream);border-radius:var(--radius);padding:.7em .8em;font-family:var(--sans)}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews{border-top-color:var(--accent);background:var(--cream-2);border-radius:var(--radius)}
.woocommerce-message::before,.woocommerce-info::before{color:var(--accent)}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{color:var(--muted);font-size:.82rem}
.woocommerce nav.woocommerce-pagination ul{border:none}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border:1px solid var(--line);color:var(--navy);background:var(--cream)}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--navy);color:var(--cream)}
.woocommerce-breadcrumb{color:var(--muted);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:1.6rem}
.woocommerce .star-rating span{color:var(--accent)}

/* WooCommerce shop wrapper spacing */
.casys-wc-wrap{max-width:var(--maxw);margin:0 auto;padding:2.5rem var(--gut) 4rem}

/* WooCommerce block cart/checkout (when a store keeps the block pages) */
.wc-block-components-button:not(.is-link),
.wp-block-woocommerce-cart .wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button{
  background:var(--navy) !important;color:var(--cream) !important;border-radius:var(--radius) !important;
  font-family:var(--sans) !important;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem !important;
}
.wc-block-components-button:not(.is-link):hover{background:var(--navy-deep) !important}
.wc-block-components-button.is-link{color:var(--accent-deep) !important}
.wc-block-components-title,.wc-block-cart__totals-title,
.wp-block-woocommerce-checkout h2,.wp-block-woocommerce-cart h2{font-family:var(--serif) !important;color:var(--navy) !important}
.wc-block-components-text-input input,
.wc-block-components-select .wc-block-components-select__container{border-radius:var(--radius) !important}
.wc-block-components-product-price,.wc-block-formatted-money-amount{color:var(--ink)}
.wc-blocks-components-select__container,.wc-block-cart-items{border-color:var(--line) !important}

/* Filter chips (category pages) */
.filterbar{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;align-items:center;margin:0 0 2.4rem}
.chip{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding:.55em 1.2em;border:1px solid var(--line);background:var(--cream);color:var(--ink);border-radius:99px;transition:.3s var(--ease)}
.chip:hover{border-color:var(--navy)}
.chip.active{background:var(--navy);color:var(--cream);border-color:var(--navy)}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy-deep);color:rgba(246,242,234,.75);padding:clamp(3rem,6vw,4.5rem) 0 2rem}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2.4rem}
.footer-grid h4{font-family:var(--sans);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:1.1rem;font-weight:500}
.footer-brand .name{font-family:var(--serif);font-size:1.7rem;color:var(--cream);margin-bottom:.6rem}
.footer-brand p{font-size:.88rem;max-width:34ch}
.footer-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.footer-grid a{font-size:.88rem;transition:.3s var(--ease)}
.footer-grid a:hover{color:var(--cream)}
.footer-social{display:flex;gap:.8rem;margin-top:1rem}
.footer-social a{width:36px;height:36px;border:1px solid var(--line-light);border-radius:50%;display:grid;place-items:center;color:rgba(246,242,234,.75)}
.footer-social a:hover{border-color:var(--accent);color:var(--accent)}
.footer-bottom{border-top:1px solid var(--line-light);margin-top:2.6rem;padding-top:1.6rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.76rem}
.footer-bottom .pays{display:flex;gap:.6rem;align-items:center;color:rgba(246,242,234,.6)}

/* ---------- Mobile ---------- */
.nav-backdrop{position:fixed;inset:0;background:rgba(19,32,58,.45);z-index:55;opacity:0;transition:.3s}
.nav-backdrop.show{opacity:1}
@media(max-width:1080px){.grid--4,.woocommerce ul.products,.woocommerce ul.products.columns-4{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){
  .header-inner{grid-template-columns:auto 1fr auto;min-height:72px}
  .nav{position:fixed;top:0;left:0;height:100%;width:min(320px,86vw);background:var(--cream);flex-direction:column;align-items:flex-start;gap:.4rem;padding:5rem 2rem 2rem;z-index:58;transform:translateX(-100%);transition:transform .4s var(--ease);box-shadow:var(--shadow)}
  .nav.open{transform:none}
  .nav a{font-size:1rem;padding:.7rem 0;width:100%;border-bottom:1px solid var(--line)}
  .hamburger{display:inline-flex;justify-self:start}
  .hero-grid,.about-grid,.woocommerce div.product{grid-template-columns:1fr;text-align:left}
  .hero-grid{text-align:center}
  .hero-copy .lede{margin-left:auto;margin-right:auto}.hero-cta{justify-content:center}.hero-art{order:-1}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .grid--4,.grid--3,.woocommerce ul.products,.woocommerce ul.products.columns-3,.woocommerce ul.products.columns-4{grid-template-columns:repeat(2,1fr)}
  .cat-promos,.trust{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:1/-1}
  .hero-badge{display:none}
}
@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms !important;animation-duration:.01ms !important}}

/* =========================================================
   Refinements — texture, depth, editorial detailing
   ========================================================= */
/* Subtle paper grain for a tactile, upscale feel */
body::after{
  content:"";position:fixed;inset:0;z-index:3;pointer-events:none;opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.86' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Type polish */
.hero-copy h1{letter-spacing:-.012em;line-height:1.02}
.section-head h2,.cat-banner h1{letter-spacing:-.006em}
.brand-lockup .name{letter-spacing:.05em}

/* Editorial flanking rules on centered eyebrows */
.section-head .eyebrow,.cat-banner .eyebrow,.newsletter .eyebrow{display:inline-flex;align-items:center;gap:.85em}
.section-head .eyebrow::before,.section-head .eyebrow::after,
.cat-banner .eyebrow::before,.cat-banner .eyebrow::after,
.newsletter .eyebrow::before,.newsletter .eyebrow::after{content:"";width:26px;height:1px;background:currentColor;opacity:.5}

/* Hero — soft golden studio glow behind the art */
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 55% at 72% 42%,rgba(176,138,79,.10),transparent 70%);pointer-events:none}
.hero-grid{position:relative;z-index:1}
.hero-art::before{content:"";position:absolute;width:74%;height:70%;left:13%;top:10%;border-radius:50%;
  background:radial-gradient(circle,rgba(176,138,79,.18),transparent 68%);filter:blur(8px);z-index:0}
.hero-art svg{position:relative;z-index:1}

/* Buttons — softer depth on hover */
.btn:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{box-shadow:0 14px 26px -16px rgba(19,32,58,.55)}

/* Product cards — lift + image depth + name underline reveal */
.card-media,.woocommerce ul.products li.product a img{transition:box-shadow .45s var(--ease),transform .8s var(--ease)}
.card:hover .card-media,
.woocommerce ul.products li.product:hover a img{box-shadow:0 26px 54px -32px rgba(19,32,58,.5)}
.card-name a,.woocommerce ul.products li.product .woocommerce-loop-product__title{transition:color .3s var(--ease)}
.card-name a{background-image:linear-gradient(var(--accent),var(--accent));background-size:0% 1px;background-position:0 calc(100% - 1px);background-repeat:no-repeat;transition:background-size .35s var(--ease),color .3s var(--ease)}
.card:hover .card-name a{background-size:100% 1px}

/* Navy sections — gentle gradient + centered gold tick */
.section--navy{background:linear-gradient(180deg,var(--navy) 0%,var(--navy-deep) 100%);position:relative}
.section--navy::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:64px;height:1px;background:var(--accent);opacity:.6}

/* Category banner — subtle radial depth + gold tick */
.cat-banner{background:radial-gradient(120% 140% at 50% -20%,var(--navy) 40%,var(--navy-deep) 100%)}
.cat-banner::after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:64px;height:1px;background:var(--accent);opacity:.55}

/* Promo tiles — refined hover */
.promo{transition:transform .5s var(--ease)}
.promo:hover{transform:translateY(-4px)}
.promo .promo-inner{transition:transform .5s var(--ease)}
.promo:hover .promo-inner{transform:translateY(-4px)}

/* Footer brand mark hairline */
.site-footer{position:relative}
.site-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.4}

/* =========================================================
   Boutique pass — arched framing, warm tones, hand-touched
   ========================================================= */
:root{--radius:3px;--blush:#efe2d6;--script:"Pinyon Script","Snell Roundhand",cursive}

/* Arched, framed imagery — the boutique signature */
.card-media,.about-portrait,.promo,
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img.casys-wire-img,
.woocommerce div.product div.images img,
.woocommerce div.product div.images .casys-wire-img,
.casys-wire-img{border-radius:34% 34% 6px 6px / 20% 20% 4px 4px}
.about-portrait .stamp{border-radius:5px 0 0 0}

/* Featured / sale badge to the arch apex; hide floating heart; move zoom trigger clear of the arch */
.card-tag,.woocommerce span.onsale{left:50%;right:auto;transform:translateX(-50%);top:12px}
.card-fav{display:none}
.woocommerce-product-gallery__trigger{top:auto !important;bottom:14px;right:14px}

/* Soft warm band */
.section--blush{background:var(--blush)}

/* Hand-script signature */
.about-copy .sig{font-family:var(--script);font-style:normal;font-size:2.8rem;line-height:1;color:var(--accent-deep)}

/* Delicate star divider beneath centered headings */
.section-head h2::after,.cat-banner h1::after,.newsletter h2::after{
  content:"";display:block;width:66px;height:14px;margin:15px auto 0;
  background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 66 14'%3E%3Cline x1='2' y1='7' x2='26' y2='7' stroke='%23bb9558' stroke-width='1'/%3E%3Cline x1='40' y1='7' x2='64' y2='7' stroke='%23bb9558' stroke-width='1'/%3E%3Cpath d='M33 1.5 l1.5 5 5 1.5 -5 1.5 -1.5 5 -1.5 -5 -5 -1.5 5 -1.5 z' fill='%23bb9558'/%3E%3C/svg%3E")}

/* Softer, friendlier shapes */
.btn{border-radius:6px}
.card-name{font-size:1.4rem}



/* =========================================================
   Logo fix — hero stamp and footer brand mark were using a
   low-quality photographed logo (casys-logo-photo.jpg).
   Swap in the clean transparent logo used in the header.
   ========================================================= */
.hero-logo-stamp img,
.footer-logo-img{
	display:none;
}
.hero-logo-stamp{
	width:100%;
	aspect-ratio:1446/1055;
	background-image:url('https://casysgiftshoppe.com/wp-content/uploads/2026/07/cropped-CASYS-Gift-Shoppe-Logo-Transparent.png');
	background-repeat:no-repeat;
	background-position:center;
	background-size:contain;
}
.footer-brand::before{
	content:'';
	display:block;
	width:150px;
	aspect-ratio:1446/1055;
	background-image:url('https://casysgiftshoppe.com/wp-content/uploads/2026/07/cropped-CASYS-Gift-Shoppe-Logo-Transparent.png');
	background-repeat:no-repeat;
	background-position:left center;
	background-size:contain;
	filter:invert(1);
	margin-bottom:1rem;
}


/* =========================================================
   Women's collection card — show an actual product photo
   instead of the decorative line-art placeholder.
   ========================================================= */
.promo[href*="product_cat=womens"] .promo-bg{
	display:none;
}
.promo[href*="product_cat=womens"]{
	background-image:url('https://casysgiftshoppe.com/wp-content/uploads/2026/07/Not-Just-Hoops-1-600x600.jpg');
	background-size:cover;
	background-position:center;
}


/* =========================================================
   Reorder homepage sections — move "This season's favorites"
   (Featured) below "Shop by collection" without touching
   the template markup.
   ========================================================= */
body.home #content{
	display:flex;
	flex-direction:column;
}
body.home #content > section:nth-of-type(1){ order:1; } /* Hero */
body.home #content > section:nth-of-type(2){ order:3; display:none; } /* Featured (This season's favorites) hidden per request */
body.home #content > section:nth-of-type(3){ order:2; } /* Shop by collection */
body.home #content > section:nth-of-type(4){ order:4; } /* Trust */
body.home #content > section:nth-of-type(5){ order:5; } /* About teaser */
body.home #content > section:nth-of-type(6){ order:6; } /* Newsletter */


/* ==========================================================
   Hero section enhancement
   - subtle layered background wash (was flat solid cream)
   - .hero-highlights had ZERO styling before, so the three
     trust badges rendered as one run-on line of plain text;
     now styled as a spaced badge row with a divider dot
   - gentle staggered fade/rise-in for the copy block
   ========================================================== */
.hero{
	background:
		radial-gradient(ellipse 55% 50% at 88% 10%, rgba(198,151,88,.18), transparent 70%),
		radial-gradient(ellipse 45% 45% at 10% 105%, rgba(19,32,58,.08), transparent 70%),
		var(--cream);
}
.hero-logo-stamp{
	position:relative;
	isolation:isolate;
}
.hero-logo-stamp::before{
	content:"";
	position:absolute;
	inset:10%;
	background:radial-gradient(circle, rgba(198,151,88,.25), transparent 72%);
	filter:blur(24px);
	z-index:-1;
}
.hero-copy > *{
	animation:heroFadeUp .7s var(--ease) both;
}
.hero-copy .eyebrow{animation-delay:.02s}
.hero-copy h1{animation-delay:.1s}
.hero-copy .lede{animation-delay:.2s}
.hero-copy .hero-cta{animation-delay:.3s}
.hero-copy .hero-highlights{animation-delay:.4s}
@keyframes heroFadeUp{
	from{opacity:0; transform:translateY(14px);}
	to{opacity:1; transform:translateY(0);}
}
.hero-highlights{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:.55rem 1.2rem;
	margin-top:1.9rem;
	padding-top:1.25rem;
	border-top:1px solid var(--line);
}
.hero-highlights span{
	position:relative;
	display:inline-flex;
	align-items:center;
	gap:.55em;
	font-size:.72rem;
	font-weight:500;
	letter-spacing:.04em;
	color:var(--muted);
}
.hero-highlights span::before{
	content:"";
	width:5px;
	height:5px;
	border-radius:50%;
	background:var(--accent-deep);
	flex-shrink:0;
}
@media (max-width:640px){
	.hero-highlights{gap:.5rem .9rem}
}


/* ==========================================================
   Hero logo resize + photo accent
   - the logo stamp previously filled the entire right column;
     scale it down so it reads as an accent, not the main visual
   - add a small circular product-photo badge overlapping the
     logo for a real "background image" / boutique collage feel
   ========================================================== */
.hero-logo-stamp{
	max-width:300px;
	margin:0 auto;
}
.hero-logo-stamp::after{
	content:"";
	position:absolute;
	bottom:-4%;
	left:-14%;
	width:36%;
	aspect-ratio:1/1;
	border-radius:50%;
	background-image:url('https://casysgiftshoppe.com/wp-content/uploads/2026/07/Hanging-Pearls-1-600x600.jpg');
	background-size:cover;
	background-position:center;
	border:5px solid var(--cream);
	box-shadow:0 14px 30px rgba(19,32,58,.24);
	z-index:1;
}
.hero-logo-stamp::before{
	inset:2%;
}
@media (max-width:820px){
	.hero-logo-stamp{max-width:220px}
}


/* ==========================================================
   Veteran-owned badge — added as a 4th hero highlight item
   (matches the existing dot + text badge style; the markup
   only has 3 spans, so this is added as generated content)
   ========================================================== */
.hero-highlights::after{
	content:"\2022  Veteran Owned, Veteran Made";
	display:inline-flex;
	align-items:center;
	font-size:.72rem;
	font-weight:600;
	letter-spacing:.05em;
	color:var(--navy);
}


/* ==========================================================
   About portrait stamp — was hardcoded "Casy's"; replace with
   the maker's actual name, Yolanda (text is hardcoded in the
   template, not a Customizer field, so replaced via generated
   content since PHP template edits are blocked).
   ========================================================== */
.about-portrait .stamp{
	font-size:0;
}
.about-portrait .stamp::before{
	content:"Yolanda";
	font-size:1.1rem;
	font-family:var(--serif);
	letter-spacing:.04em;
}

/* Coming-soon nav items: visible but visually de-emphasised. */
.nav li.menu-coming-soon > a{ opacity:.55; cursor:default; }
.nav li.menu-coming-soon > a:hover{ opacity:.7; }

