/* Geraldine Home Decor 2.1 — focused UI corrections and editorial sections.
   Loaded after the base theme stylesheet to keep prior customization intact. */

/* Always render storefront cards identically on the homepage, catalog and related products.
   Avoid WooCommerce's default product-loop sizing and storefront style collisions. */
.ghd-home .ghd-home-products,
.ghd-catalog ul.products,
.ghd-product-below ul.products {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:start;
  gap:26px 18px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.ghd-home .ghd-home-products > li.ghd-product-card,
.ghd-catalog ul.products > li.ghd-product-card,
.ghd-product-below ul.products > li.ghd-product-card {
  width:100%!important;float:none!important;min-width:0!important;
  margin:0!important;padding:0!important;display:block!important;
  list-style:none!important;box-shadow:none!important;background:transparent;
}
.ghd-product-card .ghd-card-image {position:relative!important;isolation:isolate;aspect-ratio:4/5;overflow:hidden;background:#f5f3ef;}
.ghd-product-card .ghd-card-image>a {display:block;width:100%;height:100%;}
.ghd-product-card .ghd-card-image img{display:block!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;margin:0!important;}
.ghd-product-card .ghd-card-image .ghd-sale-badge,
.ghd-product-card .ghd-card-image .onsale {
 position:absolute!important;left:12px!important;top:12px!important;right:auto!important;bottom:auto!important;
 min-width:0!important;min-height:0!important;padding:7px 11px!important;
 border-radius:0!important;background:var(--ghd-gold)!important;
 color:white!important;font:600 10px/1.2 var(--ghd-font)!important;
 text-transform:uppercase;letter-spacing:.06em;z-index:3!important;
 margin:0!important;box-shadow:none!important;transform:none!important;
}
.ghd-product-card .ghd-favorite-card {
 position:absolute!important;top:11px!important;right:11px!important;left:auto!important;bottom:auto!important;
 display:grid!important;place-items:center!important;width:36px!important;height:36px!important;
 min-width:36px!important;border:0!important;border-radius:50%!important;
 background:#fff!important;color:var(--ghd-ink)!important;z-index:5!important;
 padding:0!important;transform:none!important;line-height:1!important;
}
.ghd-product-card .ghd-favorite-card[aria-pressed=true]{color:var(--ghd-gold)!important;}
.ghd-product-card .ghd-card-info {display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:13px 2px 6px!important;}
.ghd-product-card .ghd-card-category {display:block!important;margin:0 0 5px!important;color:#918579!important;font:500 10px/1.45 var(--ghd-font)!important;letter-spacing:.08em;text-transform:uppercase;}
.ghd-product-card .ghd-card-name {
 display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;
 overflow:hidden;min-height:40px!important;max-width:100%;margin:0!important;
 font:500 13px/1.6 var(--ghd-font)!important;letter-spacing:0!important;
 text-transform:none!important;color:var(--ghd-ink)!important;
}
.ghd-product-card .ghd-card-price {
 display:flex!important;flex-direction:column!important;align-items:flex-start!important;
 justify-content:flex-start;gap:3px!important;min-height:41px;
 max-width:100%;margin:10px 0 0!important;color:var(--ghd-ink)!important;
 font:600 13px/1.5 var(--ghd-font)!important;
}
.ghd-product-card .ghd-card-price del {font:400 11px/1.3 var(--ghd-font)!important;color:#978b7b!important;opacity:1!important;margin:0!important;}
.ghd-product-card .ghd-card-price ins {display:block!important;text-decoration:none!important;color:var(--ghd-ink)!important;font:600 13px/1.4 var(--ghd-font)!important;}
.ghd-product-card .ghd-card-price .amount,
.ghd-product-card .ghd-card-price bdi {font-family:var(--ghd-font)!important;font-size:inherit!important;white-space:nowrap;}
.ghd-product-card .ghd-card-action {width:100%;margin:12px 0 0!important;}
.ghd-product-card .ghd-card-action .button {max-width:100%;text-align:center;font:600 10px/1.3 var(--ghd-font)!important;letter-spacing:.08em!important;padding:12px 14px!important;white-space:normal!important;}
/* WooCommerce sometimes adds an extra 'view cart' link after AJAX. The cart drawer is our only shortcut. */
.ghd-product-card .ghd-card-action a.added_to_cart {display:none!important;}

/* Single product: preserve the native WooCommerce variation/gallery integration, but
   strictly constrain both columns even when plugin CSS is loaded after the theme. */
.ghd-single-page.woocommerce {padding:18px 0 95px;overflow:clip;}
.ghd-single-page .ghd-single-product {display:block!important;min-width:0;max-width:100%;}
.ghd-single-page .ghd-product-layout {
 display:grid!important;grid-template-columns:minmax(0,1.14fr) minmax(340px,.86fr)!important;
 align-items:start;gap:clamp(26px,4vw,76px);max-width:100%;
}
.ghd-single-page .ghd-product-media,
.ghd-single-page .ghd-product-details {width:100%!important;min-width:0!important;max-width:100%!important;float:none!important;clear:none!important;}
.ghd-single-page.woocommerce div.product div.images,
.ghd-single-page .ghd-product-media .woocommerce-product-gallery {
 width:100%!important;min-width:0!important;max-width:100%!important;
 display:block!important;position:relative!important;float:none!important;margin:0!important;
}
.ghd-single-page .woocommerce-product-gallery__wrapper,
.ghd-single-page .woocommerce-product-gallery__image {max-width:100%!important;min-width:0;}
.ghd-single-page .woocommerce-product-gallery__image,
.ghd-single-page .woocommerce-product-gallery__image a {
 aspect-ratio:1/1;display:grid!important;place-items:center;background:#f7f5f1;overflow:hidden;
}
.ghd-single-page .woocommerce-product-gallery__image img {
 display:block!important;width:100%!important;height:100%!important;max-width:100%!important;
 max-height:100%!important;object-fit:contain!important;
}
.ghd-single-page .woocommerce-product-gallery .flex-viewport {width:100%!important;height:auto!important;aspect-ratio:1/1;overflow:hidden!important;}
.ghd-single-page .woocommerce-product-gallery .flex-control-thumbs {
 display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;
 width:100%!important;margin:13px 0 0!important;padding:0!important;list-style:none!important;
}
.ghd-single-page .woocommerce-product-gallery .flex-control-thumbs li {
 display:block!important;float:none!important;width:100%!important;aspect-ratio:1/1;
 background:#f7f5f1;overflow:hidden;margin:0!important;
}
.ghd-single-page .woocommerce-product-gallery .flex-control-thumbs li img {
 width:100%!important;height:100%!important;object-fit:contain!important;
}
.ghd-single-page .ghd-product-details .summary {float:none!important;width:100%!important;margin:0!important;}
.ghd-single-page .ghd-product-sticky {max-width:100%;position:sticky;top:calc(var(--ghd-header-h) + 20px);}
.ghd-single-page .ghd-product-details .product_title {font:400 clamp(31px,3.1vw,53px)/1.2 var(--ghd-serif)!important;margin:0 0 20px!important;letter-spacing:-.025em;}
.ghd-single-page .ghd-product-details .price {display:block!important;margin:0 0 18px!important;font:600 22px/1.5 var(--ghd-font)!important;}
.ghd-single-page .ghd-product-details .woocommerce-product-details__short-description,
.ghd-single-page .ghd-product-summary-fallback {font:400 13px/1.9 var(--ghd-font);color:#655f59;max-width:55ch;margin:0 0 18px;}
.ghd-single-page .ghd-product-summary-fallback p{margin:0 0 10px;}
.ghd-single-page .ghd-product-summary-fallback a{font-size:11px;color:var(--ghd-gold);text-decoration:underline;text-underline-offset:3px;}
.ghd-single-page .ghd-product-below {clear:both;margin-top:62px;}
.ghd-single-page .ghd-gallery-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.ghd-single-page .ghd-gallery-grid-item {aspect-ratio:1/1;max-width:100%;min-width:0;min-height:0!important;overflow:hidden;}
.ghd-single-page .ghd-gallery-grid-item:first-child {grid-column:auto;grid-row:auto;aspect-ratio:1/1;}
.ghd-single-page .ghd-gallery-grid-item img {width:100%;height:100%;object-fit:contain;}
.ghd-single-page .ghd-single-sale {left:15px;top:15px;right:auto;border-radius:0;padding:7px 11px;z-index:4;}
/* The WC breadcrumb and action confirmation must not disrupt the product's primary region. */
.ghd-single-page .woocommerce-notices-wrapper:empty {display:none!important;}
.ghd-single-page .woocommerce-message,
.ghd-recent-add .woocommerce-message{display:none!important;}

/* Search results: human readable formatted prices (never screen-reader HTML entities). */
.ghd-search-results .ghd-suggestion {grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:16px;}
.ghd-search-results .ghd-suggestion strong {font:500 12px/1.5 var(--ghd-font);max-width:52ch;}
.ghd-search-results .ghd-suggestion span {font:600 12px/1.5 var(--ghd-font);color:var(--ghd-gold);white-space:nowrap;}

/* Dedicated inspiration cards — curated editorial rhythm, never a generic shop grid. */
.ghd-inspiration{background:#fff;}
.ghd-inspiration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start;}
.ghd-inspiration-card{min-width:0;}
.ghd-inspiration-photo{display:block;aspect-ratio:7/5;overflow:hidden;background:#f5f2ed;}
.ghd-inspiration-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s;}
.ghd-inspiration-card:hover .ghd-inspiration-photo img{transform:scale(1.035);}
.ghd-inspiration-copy{padding:18px 3px 10px;}
.ghd-inspiration-copy h3{font:400 clamp(20px,2vw,29px)/1.25 var(--ghd-serif);margin:7px 0 10px;}
.ghd-inspiration-copy p{font-size:12px;color:var(--ghd-muted);line-height:1.8;max-width:48ch;}
.ghd-inspiration-copy .ghd-link{margin-top:8px;display:inline-flex;font-size:11px;}

@media(max-width:1050px){
 .ghd-single-page .ghd-product-layout{grid-template-columns:minmax(0,1fr) minmax(0,.86fr)!important;gap:28px;}
 .ghd-home .ghd-home-products,.ghd-catalog ul.products,.ghd-product-below ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:760px){
 .ghd-single-page .ghd-product-layout{grid-template-columns:minmax(0,1fr)!important;gap:26px;}
 .ghd-single-page .ghd-product-sticky{position:static;}
 .ghd-inspiration-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;}
 .ghd-home .ghd-home-products,.ghd-catalog ul.products,.ghd-product-below ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px 12px!important;}
}
@media(max-width:500px){
 .ghd-single-page .woocommerce-product-gallery .flex-control-thumbs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
 .ghd-product-card .ghd-card-name{font-size:12px!important;min-height:38px!important;}
 .ghd-product-card .ghd-card-action .button{font-size:9px!important;}
 .ghd-inspiration-grid{grid-template-columns:minmax(0,1fr);}
 .ghd-search-results .ghd-suggestion{grid-template-columns:48px minmax(0,1fr);gap:9px;}
 .ghd-search-results .ghd-suggestion span{grid-column:2;}
}
