
/* ==========================================================================
   MadeHive v1.1 — archive two-column layout, product detail, personalization
   fields, specs table, reviews system (source-site fidelity pass)
   ========================================================================== */

/* ——— Category banner + intro ————————————————————————————————— */
.mh-shop__intro{margin:14px 0 4px}
.mh-shop__banner{position:relative;border-radius:var(--r-l);overflow:hidden;height:clamp(220px,32vw,470px);box-shadow:var(--sh-1)}
.mh-shop__banner img{width:100%;height:100%;object-fit:cover}
.mh-shop__bannerveil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(31,27,22,.05) 30%,rgba(31,27,22,.55))}
.mh-shop__introtext{max-width:820px;padding:18px 4px 6px}
.mh-shop__intro.has-banner .mh-shop__title{margin-top:12px}
.mh-shop__intro.has-banner .mh-shop__bannerveil + *{}

/* ——— Two-column shop layout ———————————————————————————————————— */
.mh-shop__cols{display:grid;grid-template-columns:250px 1fr;gap:28px;align-items:start;padding-bottom:34px}
.mh-shop__gridcol{min-width:0}
.mh-filters{
  position:sticky;top:96px;background:var(--white);border-radius:var(--r-l);
  box-shadow:var(--sh-1);padding:20px;display:block;
}
.mh-filters__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px}
.mh-filters__head strong{font-family:var(--font-d);font-size:17px}
.mh-filters__group+.mh-filters__group{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.mh-filters__title{font-weight:700;margin:0 0 10px;font-size:14.5px}
.mh-filters__prices{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.mh-filters__prices input{
  width:100%;padding:10px 14px;border-radius:var(--r-s);border:1.5px solid var(--line-2);
  background:var(--cream);outline:none;font-size:14px;
}
.mh-filters__prices input:focus{border-color:var(--gold);background:var(--white)}
.mh-filters__ranges{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.mh-filters__range{
  padding:9px 14px;border-radius:999px;background:var(--cream);font-size:13.5px;font-weight:500;
  transition:all var(--t-fast);
}
.mh-filters__range:hover{background:var(--gold-soft);transform:translateX(3px)}

/* Mobile: filters slide over as overlay (matches source behaviour) */
@media (max-width:980px){
  .mh-shop__cols{grid-template-columns:1fr}
  .mh-filters{position:fixed;inset:auto 0 0 0;top:auto;z-index:150;max-height:78vh;overflow:auto;
    border-radius:var(--r-l) var(--r-l) 0 0;box-shadow:var(--sh-3);padding-bottom:34px}
  .mh-filters[hidden]{display:none}
}

/* ——— Product detail gallery ——————————————————————————————————— */
.mh-pd{gap:40px;padding-top:18px}
.mh-pd .woocommerce-product-gallery{
  border-radius:var(--r-l);overflow:hidden;background:var(--white);box-shadow:var(--sh-1);
  position:sticky;top:96px;
}
.mh-pd .woocommerce-product-gallery__wrapper{margin:0}
.mh-pd .woocommerce-product-gallery__image{border-radius:0}
.mh-pd .woocommerce-product-gallery__image:nth-child(n+2){display:none}
.mh-pd .flex-control-thumbs{display:flex;gap:10px;padding:12px;margin:0;list-style:none;overflow-x:auto}
.mh-pd .flex-control-thumbs li{width:72px;flex:none}
.mh-pd .flex-control-thumbs img{border-radius:10px;border:2px solid transparent;cursor:pointer;transition:border var(--t-fast)}
.mh-pd .flex-control-thumbs img.flex-active,.mh-pd .flex-control-thumbs img:hover{border-color:var(--gold)}
.mh-pd .woocommerce-product-gallery__trigger{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:999px;
  background:rgba(255,253,249,.92);color:var(--ink);display:flex;align-items:center;justify-content:center;box-shadow:var(--sh-1);z-index:5}
@media (max-width:920px){.mh-pd .woocommerce-product-gallery{position:static}}

/* ——— Personalization fields ——————————————————————————————————— */
.mh-cf{margin:6px 0 16px;padding:18px;background:var(--cream);border:1.5px dashed var(--gold);border-radius:var(--r-m)}
.mh-cf__head{display:flex;align-items:center;gap:8px;font-family:var(--font-d);font-weight:600;font-size:16.5px;margin:0 0 14px;color:var(--ink)}
.mh-cf__head .mh-ic{color:var(--gold-3)}
.mh-cf__field{margin-bottom:14px}
.mh-cf__label{display:block;font-weight:600;font-size:13.5px;margin-bottom:6px}
.mh-cf__req{color:var(--sale)}
.mh-cf__input{width:100%;padding:12px 16px;border-radius:var(--r-s);border:1.5px solid var(--line-2);background:var(--white);outline:none;transition:border var(--t-fast)}
.mh-cf__input:focus{border-color:var(--gold)}
.mh-cf__drop{position:relative;border-radius:var(--r-s);overflow:hidden}
.mh-cf__drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;z-index:2;width:100%;height:100%}
.mh-cf__dropui{
  display:flex;flex-direction:column;align-items:center;gap:6px;padding:22px 16px;
  background:var(--white);border:1.5px dashed var(--line-2);border-radius:var(--r-s);
  transition:all var(--t-fast);text-align:center;
}
.mh-cf__drop:hover .mh-cf__dropui,.mh-cf__drop.is-filled .mh-cf__dropui{border-color:var(--gold);background:#FFFDF6}
.mh-cf__droptext{margin:0;font-weight:600;font-size:14px}
.mh-cf__hint{margin:0;font-size:12px;color:var(--ink-3)}
.mh-cf__preview{margin-top:10px;max-height:140px;border-radius:var(--r-s);object-fit:contain;background:var(--white)}
.mh-cf__opts{display:flex;flex-wrap:wrap;gap:8px}
.mh-cf__opt{position:relative}
.mh-cf__opt input{position:absolute;opacity:0;pointer-events:none}
.mh-cf__opt span{
  display:inline-block;padding:9px 18px;border-radius:999px;background:var(--white);
  border:1.5px solid var(--line-2);font-size:13.5px;font-weight:600;cursor:pointer;transition:all var(--t-fast);
}
.mh-cf__opt input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--gold-2)}
.mh-cf__opt input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}

/* ——— Promo ribbon on PDP (source-site merchandising) ———————————— */
.mh-pd__promo{
  display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:10px 14px;
  background:rgba(192,86,63,.08);border:1px solid rgba(192,86,63,.25);border-radius:var(--r-s);
  font-weight:700;font-size:13.5px;color:var(--coral);
}
.mh-pd__promo .mh-ic{width:16px;height:16px}

/* ——— Specs table ——————————————————————————————————————————————— */
.mh-specs{width:100%;border-collapse:collapse;margin:14px 0 6px;background:var(--white);border-radius:var(--r-m);overflow:hidden;box-shadow:var(--sh-1)}
.mh-specs th,.mh-specs td{padding:12px 16px;border-bottom:1px solid var(--line);font-size:14px;text-align:left;vertical-align:top}
.mh-specs tr:last-child th,.mh-specs tr:last-child td{border-bottom:0}
.mh-specs th{width:34%;color:var(--ink-2);font-weight:600;background:var(--cream)}
.mh-specs td{color:var(--ink)}

/* ——— Reviews section ————————————————————————————————————————————— */
.mh-reviews-sec__summary{
  display:grid;grid-template-columns:220px 1fr;gap:28px;align-items:center;
  background:var(--white);border-radius:var(--r-m);padding:22px 26px;box-shadow:var(--sh-1);margin-bottom:22px;
}
.mh-rev-score{display:flex;flex-direction:column;align-items:center;gap:6px}
.mh-rev-score__num{font-family:var(--font-d);font-size:52px;line-height:1;color:var(--ink)}
.mh-rev-score__count{margin:0;font-size:12.5px;color:var(--ink-3)}
.mh-rev-dist{display:flex;flex-direction:column;gap:7px}
.mh-rev-dist__row{display:grid;grid-template-columns:44px 1fr 34px;align-items:center;gap:10px;font-size:12.5px;color:var(--ink-2)}
.mh-rev-dist__bar{height:8px;border-radius:99px;background:var(--cream-2);overflow:hidden}
.mh-rev-dist__fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--gold-2),var(--gold-3))}
.mh-rev-dist__n{text-align:right;font-weight:600}
.mh-reviews-sec__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.mh-rv{margin:0}
.mh-rv__card{background:var(--white);border-radius:var(--r-m);padding:18px;box-shadow:var(--sh-1);height:100%;display:flex;flex-direction:column;gap:10px}
.mh-rv__head{display:flex;gap:12px;align-items:flex-start}
.mh-rv__avatar{
  width:40px;height:40px;flex:none;border-radius:999px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--gold-soft),var(--gold-2));color:var(--ink);font-weight:800;font-size:16px;
}
.mh-rv__who{min-width:0;flex:1}
.mh-rv__author{display:block;font-size:14.5px}
.mh-rv__meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-3);margin-top:3px;flex-wrap:wrap}
.mh-rv__verified{
  display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  color:var(--sage-deep);background:rgba(122,158,126,.14);padding:4px 10px;border-radius:999px;white-space:nowrap;
}
.mh-rv__verified .mh-ic{width:12px;height:12px}
.mh-rv__body{font-size:14px;color:var(--ink-2);line-height:1.6}
.mh-reviews-sec__pager{margin-top:6px}
#review_form_wrapper{margin-top:26px;background:var(--white);border-radius:var(--r-m);box-shadow:var(--sh-1);padding:22px 26px}
#review_form_wrapper .comment-reply-title{font-family:var(--font-d);font-size:20px;display:block;margin-bottom:12px}
#review_form_wrapper .comment-form-rating .stars{display:inline-flex;gap:2px}
#review_form_wrapper .comment-form-rating .stars a{font-size:22px;color:var(--gold);text-indent:-9999px;position:relative;width:24px;height:24px;display:inline-block}
#review_form_wrapper .comment-form-rating .stars a::before{content:"★";position:absolute;inset:0;text-indent:0;line-height:24px;color:var(--line-2)}
#review_form_wrapper .comment-form-rating .stars a.active::before,
#review_form_wrapper .comment-form-rating .stars a.hovered::before{color:var(--gold)}
#review_form_wrapper textarea{width:100%;padding:13px 16px;border-radius:var(--r-m);border:1.5px solid var(--line-2);outline:none;min-height:120px}
#review_form_wrapper .submit{
  display:inline-flex;padding:12px 28px;border-radius:999px;border:0;cursor:pointer;
  background:linear-gradient(135deg,var(--gold-2),var(--gold) 55%,var(--gold-3));color:#231A08;font-weight:700;
}
.woocommerce-verification-required{padding:16px 20px;background:var(--cream);border-radius:var(--r-m);font-size:14.5px;color:var(--ink-2)}
@media (max-width:760px){
  .mh-reviews-sec__summary{grid-template-columns:1fr;gap:16px}
  .mh-reviews-sec__list{grid-template-columns:1fr}
}
