/* Mako Designs — modern theme layer, sits on top of Storefront */

:root{
  --mako-teal-dark:#123F43;
  --mako-teal:#0B6768;
  --mako-teal-deep:#006B6B;
  --mako-coral:#EF8543;
  --mako-gold:#D4A737;
  --etsy-orange:#F1641E;
  --mako-cream:#FFF9F4;
  --mako-paper:#F8F3EA;
  --mako-mint:#EAF7F6;
  --mako-ink:#263D40;
  --mako-white:#FFFFFF;
  --mako-radius:0px;
}

body{ color:var(--mako-ink); }

.mako-wrap{ width:calc(100% - 48px); max-width:1360px; margin:0 auto; }

/* Let the homepage run full width instead of Storefront's boxed .col-full */
body.home #content,
body.home #content .col-full{ max-width:none; padding:0; margin:0; width:100%; }

/* ---------- Sticky full-width header ---------- */
body{ padding-top:99px; }
body.admin-bar{ padding-top:99px; }

.mako-header{
  position:fixed; top:0; left:0; right:0; width:100%;
  background:#FFFFFF;
  border-bottom:1px solid rgba(18,63,67,.08);
  box-shadow:0 2px 10px rgba(17,24,39,.04);
  z-index:99999;
  transition:box-shadow .2s ease;
}
body.admin-bar .mako-header{ top:32px; }
.mako-header.is-scrolled{ box-shadow:0 8px 24px rgba(17,24,39,.09); }
.mako-header-row{
  display:flex; align-items:center; justify-content:space-between;
  gap:28px; min-height:98px; width:calc(100% - 96px); max-width:1500px; margin:0 auto; padding:16px 0;
}
.mako-header-logo{ flex:0 0 auto; display:flex; align-items:center; }
/* The source PNG has heavy transparent padding baked in (logo mark only
   fills ~70% of width / ~20% of height of the canvas), so scaling the
   whole file up made the box bigger without the visible mark growing much.
   This crops to just the mark via an overflow window instead. */
.mako-header-logo a{ display:block; line-height:0; }
.mako-header-logo img{ display:block; height:60px; width:auto; max-width:100%; }
.mako-header-nav{ flex:1 1 auto; min-width:0; display:flex; justify-content:center; }
.mako-header-nav ul{ list-style:none; display:flex; align-items:center; gap:18px; margin:0; padding:0; flex-wrap:nowrap; }
.mako-header-nav a{
  color:var(--mako-teal-dark); text-decoration:none; text-transform:uppercase; white-space:nowrap;
  font:700 12px/1.2 Arial, "Open Sans", sans-serif; letter-spacing:.03em; position:relative; padding:10px 0;
}
.mako-header-nav a:after{
  content:""; position:absolute; left:50%; right:50%; bottom:2px; height:2px;
  background:linear-gradient(90deg,var(--mako-teal),var(--mako-gold)); transition:left .2s ease,right .2s ease;
}
.mako-header-nav a:hover:after{ left:0; right:0; }
.mako-header-actions{ flex:0 0 auto; display:flex; align-items:center; gap:6px; }
.mako-header-toggle{ display:none; background:none; border:0; cursor:pointer; padding:8px; }
.mako-header-toggle span{ display:block; width:24px; height:2px; margin:5px 0; background:var(--mako-teal-dark); }

.mako-icon-btn{
  display:inline-flex; align-items:center; justify-content:center;
  width:36px; height:36px; border-radius:50%; border:0; background:none; cursor:pointer;
  color:var(--mako-teal-dark); text-decoration:none; flex:0 0 auto; transition:background .15s ease;
}
.mako-icon-btn:hover{ background:rgba(18,63,67,.07); }

.mako-btn-etsy-pill{
  display:inline-flex; align-items:center; gap:8px; flex:0 0 auto;
  margin-left:8px; padding:6px 16px 6px 6px; border-radius:999px; border:1.5px solid var(--etsy-orange);
  background:#fff; color:var(--etsy-orange) !important; font:800 11px/1 Arial, "Open Sans", sans-serif;
  letter-spacing:.05em; text-transform:uppercase; text-decoration:none !important; white-space:nowrap;
  transition:background .15s ease, color .15s ease;
}
.mako-btn-etsy-pill:hover{ background:var(--etsy-orange); color:#fff !important; }
.mako-btn-etsy-pill:hover .mako-etsy-e{ background:#fff; color:var(--etsy-orange); }
.mako-etsy-e{
  display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto;
  width:22px; height:22px; border-radius:50%; background:var(--etsy-orange); color:#fff;
  font:800 12px/1 Arial, sans-serif; transition:background .15s ease, color .15s ease;
}

.mako-header-search{
  position:absolute; left:0; right:0; top:100%; z-index:5;
  background:#fff; border-bottom:1px solid rgba(18,63,67,.08); box-shadow:0 12px 24px rgba(17,24,39,.08);
  max-height:0; overflow:hidden; opacity:0; transition:max-height .2s ease, opacity .2s ease;
}
.mako-header.is-search-open .mako-header-search{ max-height:90px; opacity:1; }
.mako-header-search form{
  display:flex; align-items:center; gap:12px; width:calc(100% - 96px); max-width:1500px; margin:0 auto; padding:18px 0;
}
.mako-header-search input[type="search"]{
  flex:1 1 auto; border:1px solid rgba(18,63,67,.18); border-radius:8px; padding:12px 16px;
  font:400 15px/1.2 "Open Sans", Arial, sans-serif; color:var(--mako-ink);
}
.mako-header-search input[type="search"]:focus{ outline:2px solid var(--mako-teal); outline-offset:1px; }
.mako-header-search button{
  display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; flex:0 0 auto;
  border:0; border-radius:8px; background:var(--mako-teal-deep); color:#fff; cursor:pointer;
}

/* ---------- Buttons ---------- */
.mako-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:14px 24px; border-radius:10px; text-decoration:none !important;
  font:800 14px/1 Arial, "Open Sans", sans-serif; letter-spacing:.01em; cursor:pointer; border:2px solid transparent;
  transition:transform .15s ease, box-shadow .15s ease;
}
.mako-btn:hover{ transform:translateY(-2px); }
.mako-btn-primary{ background:var(--mako-coral); color:#fff !important; box-shadow:0 10px 22px rgba(239,133,67,.25); }
.mako-btn-outline{ background:#fff; color:var(--mako-teal-dark) !important; border-color:var(--mako-teal-dark); }
.mako-btn-teal{ background:var(--mako-teal-deep); color:#fff !important; }
.mako-btn-etsy{ background:var(--etsy-orange); color:#fff !important; box-shadow:0 10px 22px rgba(241,100,30,.2); font-weight:800; gap:9px; }
.mako-btn-etsy svg{ flex:0 0 auto; }
.mako-btn-sm{ padding:11px 18px; font-size:13px; border-radius:8px; }

/* ---------- Hero ---------- */
.mako-hero{ position:relative; background:var(--mako-cream); padding:56px 0 0; }
.mako-hero-blobs{ position:absolute; inset:0; width:100%; height:100%; z-index:0; pointer-events:none; }
.mako-hero-inner{ position:relative; z-index:2; display:grid; grid-template-columns:minmax(320px,460px) 1fr; gap:56px; align-items:end; padding-bottom:24px; }
.mako-kicker{ margin:0 0 16px; color:var(--mako-teal); font:800 13px/1.2 "Open Sans", Arial, sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.mako-kicker span{ color:var(--mako-coral); }
.mako-hero-copy h1{ margin:0 0 20px; color:var(--mako-teal-dark); font:800 clamp(34px,3.4vw,52px)/1.08 Arial, sans-serif; letter-spacing:-1px; text-transform:uppercase; }
.mako-hero-copy h1 em{ display:block; margin-top:6px; color:var(--mako-coral); font:400 clamp(28px,2.6vw,38px)/1.15 Georgia, serif; text-transform:none; font-style:italic; letter-spacing:0; }
.mako-lead{ max-width:520px; margin:0 0 26px; color:var(--mako-ink); font:400 clamp(15px,1.05vw,18px)/1.6 "Open Sans", Arial, sans-serif; }
.mako-actions{ display:flex; gap:12px; flex-wrap:wrap; margin-bottom:26px; }
.mako-actions-hero{ align-items:center; margin-bottom:0; }
.mako-actions-hero .mako-btn-etsy-pill{ margin-left:0; padding:12px 22px 12px 8px; }
.mako-actions-hero .mako-etsy-e{ width:26px; height:26px; font-size:13px; }
.mako-proof{ display:flex; align-items:center; gap:10px; color:var(--mako-teal-dark); }
.mako-proof .stars{ color:#d49a00; font-size:18px; letter-spacing:2px; }
.mako-proof b{ font:800 14px/1.2 "Open Sans", Arial, sans-serif; }

.mako-hero-media{ position:relative; min-height:0; }
.mako-hero-img-main{
  position:relative; z-index:2; display:block; width:76%; aspect-ratio:4/5; object-fit:cover;
  object-position:60% 50%;
  border-radius:18px; box-shadow:0 30px 60px rgba(17,24,39,.18);
}
.mako-hero-img-accent{
  position:absolute; z-index:3; right:0; bottom:-10%; width:40%; aspect-ratio:1/1; object-fit:cover;
  border-radius:14px; border:6px solid #fff; box-shadow:0 24px 48px rgba(17,24,39,.2);
}

.mako-hero-stats{
  position:relative; z-index:4; margin-bottom:-56px; background:#fff; border-radius:20px;
  box-shadow:0 20px 50px rgba(17,24,39,.12); display:flex; align-items:center; justify-content:space-between;
  padding:26px clamp(20px,4vw,48px); flex-wrap:wrap; gap:20px 32px;
}
.mako-hero-stats > div{ display:flex; align-items:center; gap:12px; }
.mako-hero-stats svg{ flex:0 0 auto; color:var(--mako-coral); }
.mako-hero-stats strong{ display:block; color:var(--mako-teal-dark); font:800 20px/1.1 Arial, sans-serif; }
.mako-hero-stats span{ display:block; color:var(--mako-ink); font:600 12px/1.2 "Open Sans", Arial, sans-serif; text-transform:uppercase; letter-spacing:.03em; opacity:.75; }

/* ---------- Generic section ---------- */
.mako-section{ padding:76px 0; }
.mako-section-title{ position:relative; text-align:center; max-width:720px; margin:0 auto 44px; }
.mako-section-title .eyebrow{ display:block; color:var(--mako-coral); font:800 13px/1 "Open Sans", Arial, sans-serif; text-transform:uppercase; letter-spacing:.1em; margin-bottom:10px; }
.mako-section-title h2{ margin:0 0 12px; color:var(--mako-teal-dark); font:800 clamp(26px,3vw,38px)/1.15 Arial, sans-serif; text-transform:uppercase; letter-spacing:-.5px; }
.mako-section-title p{ margin:0; color:var(--mako-ink); font:400 16px/1.6 "Open Sans", Arial, sans-serif; }
.mako-section-title::after{
  content:""; display:block; width:74px; height:12px; margin:16px auto 0;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 74 12'%3E%3Cpath d='M2 7c6-8 12 8 18 0s12 8 18 0 12 8 18 0 10 6 14 2' stroke='%23EF8543' stroke-width='2.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/contain;
}

/* Shop the way */
.mako-shopway{ background:var(--mako-paper); }
.mako-shopway-intro{ text-align:center; max-width:640px; margin:0 auto 40px; font:400 17px/1.65 "Open Sans", Arial, sans-serif; color:var(--mako-ink); }
.mako-shopway-layout{ display:grid; grid-template-columns:1.05fr 1fr; gap:56px; align-items:center; }
.mako-shopway-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.mako-shopway-card{ background:#fff; padding:34px 26px; text-align:center; border:1px solid rgba(18,63,67,.08); }
.mako-shopway-card .icon{ width:56px; height:56px; margin:0 auto 18px; display:flex; align-items:center; justify-content:center; background:var(--mako-mint); color:var(--mako-teal-deep); border-radius:50%; font-size:24px; }
.mako-shopway-card h3{ margin:0 0 10px; color:var(--mako-teal-dark); font:800 18px/1.2 Arial, sans-serif; text-transform:uppercase; }
.mako-shopway-card p{ margin:0 0 22px; color:var(--mako-ink); font:400 15px/1.55 "Open Sans", Arial, sans-serif; }

.mako-device-mockup{ position:relative; max-width:420px; margin:0 auto; padding:0 10% 18% 0; }
.mako-device-laptop{ position:relative; background:#16292a; border-radius:14px; padding:10px 10px 24px; box-shadow:0 30px 60px rgba(17,24,39,.22); }
.mako-device-laptop::after{ content:""; position:absolute; left:50%; bottom:8px; width:44px; height:4px; border-radius:3px; background:#3a4d4e; transform:translateX(-50%); }
.mako-device-laptop img{ display:block; width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:6px; }
.mako-device-phone{
  position:absolute; right:0; bottom:0; width:34%; background:#16292a; border-radius:22px; padding:7px;
  box-shadow:0 24px 48px rgba(17,24,39,.24);
}
.mako-device-phone img{ display:block; width:100%; aspect-ratio:9/18; object-fit:cover; border-radius:15px; }

/* Category icon bar */
section.mako-category-bar{ padding:32px 0; }
.mako-category-bar + .mako-shopway{ padding-top:44px; }
.mako-category-bar-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:4px; }
.mako-category-bar-item{ display:flex; flex-direction:column; align-items:center; gap:8px; text-decoration:none !important; }
.mako-category-bar-item .thumb{ display:block; width:140px; height:140px; border-radius:50%; overflow:hidden; box-shadow:0 10px 24px rgba(18,63,67,.16); transition:transform .18s ease; }
.mako-category-bar-item:hover .thumb{ transform:translateY(-4px); }
.mako-category-bar-item .thumb img{ display:block; width:100%; height:100%; object-fit:cover; }
.mako-category-bar-item span:last-child{ color:var(--mako-teal-dark); font:800 12px/1.2 Arial, sans-serif; text-transform:uppercase; letter-spacing:.03em; text-align:center; position:relative; padding-bottom:10px; }
.mako-category-bar-item span:last-child::after{
  content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  width:34px; height:8px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 74 12'%3E%3Cpath d='M2 7c6-8 12 8 18 0s12 8 18 0 12 8 18 0 10 6 14 2' stroke='%23EF8543' stroke-width='2.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/contain;
}
@media (max-width:767px){
  .mako-category-bar-grid{ grid-template-columns:repeat(3,1fr); row-gap:22px; }
  .mako-category-bar-item .thumb{ width:104px; height:104px; }
}

/* Print-ready files */
.mako-print-ready{ background:linear-gradient(135deg,#EAF3F1 0%,var(--mako-paper) 55%,#FBF0E4 100%); }
.mako-print-ready-layout{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.mako-print-ready-copy .mako-section-title{ text-align:left; margin:0 0 22px; max-width:none; }
.mako-print-ready-copy .mako-section-title::after{ margin:16px 0 0; }
.mako-print-ready-copy p.lead{ margin:0 0 26px; color:var(--mako-ink); font:600 16px/1.6 "Open Sans", Arial, sans-serif; }
.mako-print-ready-checklist{ display:flex; flex-wrap:wrap; gap:26px; margin:0 0 26px; }
.mako-print-ready-checklist-item{ display:flex; align-items:center; gap:10px; }
.mako-print-ready-checklist-item .icon{
  width:38px; height:38px; border-radius:50%; border:1.5px solid var(--mako-teal-dark); flex:0 0 auto;
  display:flex; align-items:center; justify-content:center; color:var(--mako-teal-dark);
}
.mako-print-ready-checklist-item span{ font:700 12px/1.25 "Open Sans", Arial, sans-serif; text-transform:uppercase; letter-spacing:.03em; color:var(--mako-teal-dark); }
.mako-print-ready-tagline{ font-family:"Allura", cursive; font-size:clamp(22px,2vw,28px); font-weight:400; color:var(--mako-teal-dark); }
.mako-print-ready-cards{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.mako-print-ready-card{ display:block; border-radius:16px; overflow:hidden; box-shadow:0 16px 36px rgba(18,63,67,.18); transition:transform .2s ease, box-shadow .2s ease; }
.mako-print-ready-card:hover{ transform:translateY(-5px); box-shadow:0 22px 44px rgba(18,63,67,.24); }
.mako-print-ready-card img{ display:block; width:100%; height:auto; }
@media (max-width:900px){
  .mako-print-ready-layout{ grid-template-columns:1fr; }
  .mako-print-ready-copy .mako-section-title{ text-align:center; margin:0 auto 22px; }
  .mako-print-ready-checklist{ justify-content:center; }
}
@media (max-width:640px){
  .mako-print-ready-cards{ grid-template-columns:1fr; }
}

/* Popular collections */
.mako-collections .mako-section-title{ max-width:940px; }
.mako-collections .mako-section-title h2{ white-space:nowrap; font-size:clamp(20px,2.4vw,30px); }
.mako-collections-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:16px; }
.mako-collection-card{ display:block; text-decoration:none !important; background:none; border:0; }
.mako-collection-card .thumb{ aspect-ratio:1/1; overflow:hidden; border-radius:14px; }
.mako-collection-card .thumb img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.mako-collection-card:hover .thumb img{ transform:scale(1.06); }
.mako-collection-card .body{ padding:10px 4px 0; }
.mako-collection-card h3{ margin:0 0 4px; color:var(--mako-teal-dark) !important; font:800 11.5px/1.25 Arial, sans-serif; text-transform:uppercase; letter-spacing:.01em; }
.mako-collection-card p{ margin:0; color:var(--mako-ink); font:400 11.5px/1.4 "Open Sans", Arial, sans-serif; }

/* Why choose mako */
.mako-why{ background:var(--mako-mint); }
.mako-why-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.mako-why-item{ text-align:center; }
.mako-why-item .icon{ width:60px; height:60px; margin:0 auto 16px; display:flex; align-items:center; justify-content:center; background:#fff; border-radius:50%; color:var(--mako-coral); font-size:26px; box-shadow:0 6px 16px rgba(18,63,67,.08); }
.mako-why-item h3{ margin:0 0 8px; color:var(--mako-teal-dark); font:800 15px/1.2 Arial, sans-serif; text-transform:uppercase; }
.mako-why-item p{ margin:0; color:var(--mako-ink); font:400 14px/1.55 "Open Sans", Arial, sans-serif; }

/* Featured designs */
.mako-featured{ position:relative; overflow:hidden; }
.mako-featured-powder{ position:absolute; inset:0; width:100%; height:100%; z-index:1; opacity:.55; pointer-events:none; }
.mako-featured > .mako-wrap{ position:relative; z-index:2; }
.mako-featured-carousel{ position:relative; }
.mako-featured-grid{
  display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 5*18px)/6); gap:18px;
  overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; padding-bottom:6px;
  -ms-overflow-style:none; scrollbar-width:none;
}
.mako-featured-grid::-webkit-scrollbar{ display:none; height:0; }
.mako-featured-card{ display:block; text-decoration:none !important; scroll-snap-align:start; }
.mako-featured-card .thumb{ aspect-ratio:1/1; overflow:hidden; background:#f1f1f1; margin-bottom:10px; }
.mako-featured-card .thumb img{ width:100%; height:100%; object-fit:cover; object-position:center 25%; display:block; transition:transform .35s ease; }
.mako-featured-card:hover .thumb img{ transform:scale(1.06); }
.mako-featured-card h3{ margin:0; color:var(--mako-teal-dark) !important; font:700 13px/1.35 "Open Sans", Arial, sans-serif; }
.mako-featured-arrow{
  position:absolute; top:36%; z-index:3; width:44px; height:44px; border-radius:50%; border:0;
  background:#fff; box-shadow:0 8px 20px rgba(17,24,39,.16); color:var(--mako-teal-dark); font-size:22px; line-height:1;
  display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .15s ease, transform .15s ease;
}
.mako-featured-arrow:hover{ background:var(--mako-mint); transform:translateY(-2px); }
.mako-featured-prev{ left:-22px; }
.mako-featured-next{ right:-22px; }

/* Testimonials */
.mako-reviews{ background:var(--mako-mint); }
.mako-reviews-grid{ display:grid; grid-template-columns:1fr repeat(3,1fr); gap:24px; align-items:stretch; }
.mako-reviews-intro{ display:flex; flex-direction:column; justify-content:center; }
.mako-reviews-intro .stars{ color:#d49a00; font-size:20px; letter-spacing:2px; display:block; margin-bottom:10px; }
.mako-reviews-intro h3{ margin:0 0 10px; color:var(--mako-teal-dark); font:800 18px/1.25 Arial, sans-serif; }
.mako-reviews-intro p{ margin:0 0 20px; color:var(--mako-ink); font:400 14.5px/1.55 "Open Sans", Arial, sans-serif; }
.mako-review-card{ background:#fff; padding:26px 24px; border:1px solid rgba(18,63,67,.08); }
.mako-review-card .stars{ color:#d49a00; font-size:15px; letter-spacing:2px; display:block; margin-bottom:10px; }
.mako-review-card p{ margin:0 0 14px; color:var(--mako-ink); font:400 14.5px/1.6 "Open Sans", Arial, sans-serif; }
.mako-review-card cite{ font:700 13px/1 "Open Sans", Arial, sans-serif; color:var(--mako-teal-dark); font-style:normal; }

/* Footer CTA band */
.mako-footer-cta{ position:relative; overflow:hidden; background:var(--mako-teal-dark); padding:70px 0; }
.mako-footer-cta-media{ position:absolute; top:0; bottom:0; width:min(300px,26vw); z-index:1; opacity:.85; }
.mako-footer-cta-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.mako-footer-cta-media::after{ content:""; position:absolute; inset:0; }
.mako-footer-cta-media-left{ left:0; }
.mako-footer-cta-media-left::after{ background:linear-gradient(90deg, rgba(18,63,67,0) 0%, var(--mako-teal-dark) 90%); }
.mako-footer-cta-media-right{ right:0; }
.mako-footer-cta-media-right::after{ background:linear-gradient(270deg, rgba(18,63,67,0) 0%, var(--mako-teal-dark) 90%); }
.mako-footer-cta-row{ position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap; }
.mako-footer-cta-copy{ max-width:560px; }
.mako-footer-cta-copy .eyebrow{ color:var(--mako-gold); font:800 13px/1 "Open Sans", Arial, sans-serif; text-transform:uppercase; letter-spacing:.1em; margin-bottom:12px; display:block; }
.mako-footer-cta-copy h2{ margin:0 0 14px; color:#fff; font:800 clamp(26px,3vw,36px)/1.15 Arial, sans-serif; text-transform:uppercase; }
.mako-footer-cta-copy h2 em{ display:block; color:var(--mako-gold); font:400 clamp(24px,2.6vw,32px)/1.1 Georgia, serif; font-style:italic; text-transform:none; }
.mako-footer-cta-copy p{ margin:0 0 24px; color:rgba(255,255,255,.82); font:400 15px/1.6 "Open Sans", Arial, sans-serif; }
.mako-footer-cta-actions{ display:flex; gap:12px; flex-wrap:wrap; }

/* Under construction homepage */
.mako-uc{ min-height:calc(100vh - 99px); display:flex; align-items:center; justify-content:center; background:var(--mako-cream); padding:60px 24px; }
.mako-uc-inner{ max-width:640px; text-align:center; }
.mako-uc-logo{ width:220px; max-width:60vw; height:auto; margin:0 auto 28px; display:block; }
.mako-uc-eyebrow{ display:block; color:var(--mako-coral); font:800 13px/1 "Open Sans", Arial, sans-serif; text-transform:uppercase; letter-spacing:.1em; margin-bottom:14px; }
.mako-uc h1{ margin:0 0 20px; color:var(--mako-teal-dark); font:800 clamp(30px,4.4vw,48px)/1.1 Arial, sans-serif; letter-spacing:-.5px; text-transform:uppercase; }
.mako-uc h1 em{ display:block; margin-top:6px; color:var(--mako-coral); font:400 clamp(26px,3.4vw,38px)/1.15 Georgia, serif; text-transform:none; font-style:italic; }
.mako-uc-lead{ margin:0 0 30px; color:var(--mako-ink); font:400 16px/1.65 "Open Sans", Arial, sans-serif; }
.mako-uc-actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:34px; }
.mako-uc .mako-proof{ justify-content:center; }

/* Footer */
#colophon.mako-site-footer{ background:var(--mako-cream); border-top:1px solid rgba(18,63,67,.08); padding:64px 0 0; }
.mako-footer-grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px; padding-bottom:48px; }
.mako-footer-logo{ height:44px; width:auto; margin-bottom:16px; display:block; }
.mako-footer-brand p{ margin:0 0 18px; color:var(--mako-ink); font:400 14px/1.6 "Open Sans", Arial, sans-serif; max-width:320px; }
.mako-footer-social{ display:flex; gap:10px; }
.mako-footer-social a{
  width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:#fff; color:var(--mako-teal-dark); border:1px solid rgba(18,63,67,.12); transition:background .15s ease, color .15s ease;
}
.mako-footer-social a:hover{ background:var(--mako-teal-deep); color:#fff; }
.mako-footer-col h3{ margin:0 0 16px; color:var(--mako-teal-dark); font:800 13px/1.2 "Open Sans", Arial, sans-serif; text-transform:uppercase; letter-spacing:.06em; }
.mako-footer-col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.mako-footer-col a{ color:var(--mako-ink); text-decoration:none; font:400 14px/1.4 "Open Sans", Arial, sans-serif; }
.mako-footer-col a:hover{ color:var(--mako-coral); }
.mako-footer-col li{ color:var(--mako-ink); font:400 14px/1.4 "Open Sans", Arial, sans-serif; }
.mako-footer-bottom{ border-top:1px solid rgba(18,63,67,.08); padding:20px 0; }
.mako-footer-bottom-row p{ margin:0; color:var(--mako-ink); font:400 13px/1.4 "Open Sans", Arial, sans-serif; opacity:.75; text-align:center; }

/* Buttons/links elsewhere on the site pick up brand colors */
a.button, button.button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button{
  background-color:var(--mako-coral) !important; color:#fff !important; border-radius:8px !important; border:none !important;
}
a.button:hover, button.button:hover, .woocommerce a.button:hover{ background-color:var(--mako-teal-deep) !important; }

@media (max-width:1100px){
  .mako-collections-grid{ grid-template-columns:repeat(3,1fr); }
  .mako-featured-grid{ grid-auto-columns:calc((100% - 2*18px)/3); }
  .mako-reviews-grid{ grid-template-columns:1fr 1fr; }
  .mako-shopway-layout{ grid-template-columns:1fr; gap:40px; }
  .mako-device-mockup{ max-width:340px; }
  .mako-shopway-grid{ grid-template-columns:1fr; max-width:520px; margin:0 auto; }
  .mako-why-grid{ grid-template-columns:repeat(2,1fr); }
  .mako-featured-prev{ left:4px; }
  .mako-featured-next{ right:4px; }
}

@media (max-width:900px){
  .mako-header-nav{ display:none; }
  .mako-header-toggle{ display:block; }
  .mako-header.is-open .mako-header-nav{
    display:flex; position:absolute; top:100%; left:0; right:0; background:#fff; flex-direction:column;
    padding:20px; box-shadow:0 12px 24px rgba(0,0,0,.08);
  }
  .mako-header.is-open .mako-header-nav ul{ flex-direction:column; align-items:flex-start; gap:16px; width:100%; }
  .mako-hero-inner{ grid-template-columns:1fr; gap:36px; padding-bottom:16px; }
  .mako-hero-media{ order:-1; min-height:280px; max-width:480px; margin:0 auto; }
  .mako-hero-stats{ margin-bottom:-40px; justify-content:center; text-align:left; }
}

@media (max-width:640px){
  .mako-collections .mako-section-title h2{ white-space:normal; font-size:clamp(20px,6vw,26px); }
}

@media (max-width:767px){
  body{ padding-top:99px; }
  .mako-header-logo a{ max-width:56vw; }
  .mako-header-logo img{ height:40px; width:auto; max-width:100%; }
  .mako-hero{ padding-top:32px; }
  .mako-hero-stats{ flex-direction:column; align-items:stretch; margin-bottom:-32px; }
  .mako-hero-stats > div{ justify-content:center; }
  .mako-actions-hero{ flex-direction:column; align-items:stretch; }
  .mako-actions-hero .mako-btn, .mako-actions-hero .mako-btn-etsy-pill{ justify-content:center; }
  .mako-why-grid, .mako-reviews-grid{ grid-template-columns:1fr; }
  .mako-collections-grid{ grid-template-columns:repeat(3,1fr); gap:10px; }
  .mako-featured-grid{ grid-auto-columns:78%; }
  .mako-featured-arrow{ display:none; }
  .mako-footer-cta-row{ flex-direction:column; text-align:center; }
  .mako-footer-cta-actions{ justify-content:center; }
  .mako-footer-cta-media{ display:none; }
  .mako-footer-grid{ grid-template-columns:1fr 1fr; gap:32px 24px; }
  .mako-footer-brand{ grid-column:1 / -1; }
}

@media (max-width:520px){
  .mako-footer-grid{ grid-template-columns:1fr; }
}

/* ---------- 2026 brand typography refinement ---------- */
body,
.mako-home p,
.mako-home a,
.mako-home span,
.mako-home button,
.mako-site-footer{
  font-family:"Montserrat", sans-serif;
}

.mako-header-nav a,
.mako-btn,
.mako-btn-etsy-pill,
.mako-kicker,
.mako-lead,
.mako-hero-stats strong,
.mako-hero-stats span,
.mako-section-title p,
.mako-shopway-card p,
.mako-collection-card p,
.mako-why-item p,
.mako-featured-card h3,
.mako-reviews-intro p,
.mako-review-card p,
.mako-review-card cite,
.mako-footer-brand p,
.mako-footer-col a,
.mako-footer-col li,
.mako-footer-bottom-row p{
  font-family:"Montserrat", sans-serif;
}

.mako-hero-copy h1,
.mako-section-title h2,
.mako-shopway-card h3,
.mako-collection-card h3,
.mako-why-item h3,
.mako-reviews-intro h3,
.mako-footer-col h3,
.mako-footer-cta-copy h2{
  font-family:"Cinzel", serif;
}

.mako-hero-copy h1{
  font-weight:600;
  letter-spacing:-.035em;
  line-height:1.02;
}

.mako-hero-copy h1 em{
  margin-top:10px;
  color:var(--mako-coral);
  font-family:"Allura", cursive;
  font-size:clamp(42px,4.5vw,70px);
  font-weight:400;
  line-height:.82;
  letter-spacing:0;
}

.mako-section-title h2{
  font-weight:600;
  letter-spacing:.035em;
}

.mako-section-title .eyebrow{
  font-family:"Allura", cursive;
  font-size:clamp(28px,3vw,40px);
  font-weight:400;
  line-height:1;
  letter-spacing:0;
  text-transform:none;
}

.mako-shopway-card h3,
.mako-why-item h3,
.mako-reviews-intro h3,
.mako-footer-col h3{
  font-weight:600;
  letter-spacing:.035em;
}

@media (max-width:767px){
  .mako-hero-copy h1 em{ font-size:clamp(40px,13vw,58px); }
  .mako-section-title .eyebrow{ font-size:32px; }
}

/* ---------- Layered editorial polish ---------- */
.mako-home{
  background:#fff;
  overflow:hidden;
}

.mako-hero{
  background:
    radial-gradient(circle at 4% 24%, rgba(11,103,104,.13) 0 2px, transparent 3px),
    radial-gradient(circle at 94% 12%, rgba(212,167,55,.16) 0 2px, transparent 3px),
    linear-gradient(112deg,#fffaf5 0%,#fff 47%,#edf8f6 100%);
  background-size:29px 29px,37px 37px,auto;
  border-bottom:1px solid rgba(18,63,67,.08);
}

.mako-hero::after{
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  right:-120px;
  top:-130px;
  border:1px solid rgba(212,167,55,.33);
  border-radius:50%;
  box-shadow:0 0 0 34px rgba(212,167,55,.045),0 0 0 72px rgba(11,103,104,.035);
  pointer-events:none;
}

.mako-hero-blobs{
  opacity:.72;
  mix-blend-mode:multiply;
}

.mako-hero-copy{
  position:relative;
  padding:12px 0 4px;
}

.mako-hero-copy::before{
  content:"";
  position:absolute;
  left:-26px;
  top:24px;
  width:3px;
  height:78px;
  background:linear-gradient(var(--mako-gold),var(--mako-coral));
  border-radius:99px;
}

.mako-kicker{
  font-family:"Montserrat",sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
}

.mako-lead{
  max-width:560px;
  color:#385155;
}

.mako-btn{
  border-radius:4px;
  text-transform:uppercase;
  letter-spacing:.075em;
  box-shadow:none;
}

.mako-btn-primary{
  background:var(--mako-teal-deep);
  box-shadow:0 12px 26px rgba(0,107,107,.2);
}

.mako-btn-primary:hover{ background:var(--mako-teal-dark); }
.mako-btn-outline{ border-color:rgba(18,63,67,.44); }

.mako-hero-media{
  min-height:0;
  isolation:isolate;
}

.mako-hero-media::before{
  content:"";
  position:absolute;
  inset:5% 5% 4% 12%;
  z-index:0;
  background:linear-gradient(145deg,rgba(11,103,104,.13),rgba(255,255,255,.42) 40%,rgba(239,133,67,.17));
  border:1px solid rgba(212,167,55,.28);
  transform:rotate(2deg);
}

.mako-hero-media::after{
  content:"✦  ·  ✦";
  position:absolute;
  z-index:4;
  right:2%;
  top:2%;
  color:var(--mako-gold);
  font:500 20px/1 "Cinzel",serif;
  letter-spacing:.35em;
  text-shadow:22px 32px 0 rgba(239,133,67,.48),-34px 54px 0 rgba(11,103,104,.35);
}

.mako-hero-img-main{
  width:72%;
  border-radius:4px;
  border:7px solid #fff;
  box-shadow:0 28px 58px rgba(18,63,67,.2);
  transform:rotate(-1.25deg);
}

.mako-hero-img-accent{
  right:2%;
  bottom:-4%;
  width:43%;
  border-radius:50%;
  border:8px solid #fff;
  box-shadow:0 22px 46px rgba(18,63,67,.24),0 0 0 2px rgba(212,167,55,.42);
  transform:rotate(3deg);
}

.mako-hero-stats{
  border-radius:10px;
  border:1px solid rgba(212,167,55,.24);
  box-shadow:0 18px 46px rgba(18,63,67,.11);
}

.mako-hero-stats > div{
  position:relative;
  flex:1 1 180px;
  justify-content:center;
}

.mako-hero-stats > div:not(:last-child)::after{
  content:"";
  position:absolute;
  right:0;
  top:2px;
  width:1px;
  height:38px;
  background:linear-gradient(transparent,rgba(212,167,55,.5),transparent);
}

.mako-section{
  position:relative;
  padding:88px 0;
}

.mako-section-title::before{
  content:"";
  display:block;
  width:118px;
  height:1px;
  margin:0 auto 16px;
  background:linear-gradient(90deg,transparent,var(--mako-gold),transparent);
}

.mako-section-title::after{ width:92px; opacity:.9; }

.mako-shopway{
  background:linear-gradient(180deg,#f8f3ea 0%,#fffaf5 100%);
}

.mako-shopway-card,
.mako-review-card{
  border:1px solid rgba(18,63,67,.09);
  border-radius:8px;
  box-shadow:0 14px 34px rgba(18,63,67,.065);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

.mako-shopway-card:hover,
.mako-review-card:hover{
  transform:translateY(-5px);
  border-color:rgba(212,167,55,.42);
  box-shadow:0 20px 42px rgba(18,63,67,.11);
}

.mako-collection-card .thumb,
.mako-featured-card .thumb{
  border-radius:7px;
  border:1px solid rgba(18,63,67,.1);
  box-shadow:0 12px 24px rgba(18,63,67,.09);
}

.mako-collection-card .body{ padding-top:14px; }
.mako-collection-card h3{ font-size:12px; font-weight:600; }

.mako-why{
  background:#fff;
  border-top:1px solid rgba(212,167,55,.19);
  border-bottom:1px solid rgba(212,167,55,.19);
}

.mako-why-grid{
  grid-template-columns:repeat(6,1fr);
  gap:0;
}

.mako-why-item{
  padding:10px 22px;
  border-right:1px solid rgba(212,167,55,.24);
}

.mako-why-item:last-child{ border-right:0; }

.mako-why-item .icon{
  width:48px;
  height:48px;
  background:transparent;
  border:1px solid rgba(239,133,67,.34);
  box-shadow:none;
}

.mako-featured{
  min-height:560px;
  background:linear-gradient(180deg,#fff 0%,#fffdfa 100%);
  isolation:isolate;
}

.mako-featured-powder{
  inset:auto 0 0;
  height:82%;
  opacity:.7;
  filter:saturate(1.18) contrast(1.05);
  mix-blend-mode:multiply;
  mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.18) 18%,#000 55%,#000 100%);
}

.mako-featured::before,
.mako-featured::after{
  content:"";
  position:absolute;
  z-index:0;
  bottom:-170px;
  width:min(48vw,620px);
  aspect-ratio:1;
  border-radius:50%;
  pointer-events:none;
  filter:blur(8px);
  opacity:.78;
}

.mako-featured::before{
  left:-160px;
  background:
    radial-gradient(circle at 46% 45%,rgba(11,103,104,.88) 0 2px,transparent 3px),
    radial-gradient(circle at 63% 30%,rgba(11,103,104,.7) 0 3px,transparent 4px),
    radial-gradient(circle at 72% 52%,rgba(11,103,104,.62) 0 1px,transparent 2px),
    radial-gradient(ellipse at 30% 70%,rgba(11,103,104,.72),transparent 66%);
  background-size:23px 25px,47px 43px,17px 19px,100% 100%;
}

.mako-featured::after{
  right:-160px;
  background:
    radial-gradient(circle at 44% 40%,rgba(239,133,67,.9) 0 2px,transparent 3px),
    radial-gradient(circle at 28% 32%,rgba(239,133,67,.72) 0 3px,transparent 4px),
    radial-gradient(circle at 18% 56%,rgba(239,133,67,.68) 0 1px,transparent 2px),
    radial-gradient(ellipse at 70% 72%,rgba(239,133,67,.78),transparent 66%);
  background-size:21px 27px,49px 41px,18px 16px,100% 100%;
}

.mako-featured-card{
  position:relative;
  padding:8px 8px 14px;
  background:rgba(255,255,255,.9);
  border-radius:10px;
  box-shadow:0 14px 30px rgba(18,63,67,.1);
  backdrop-filter:blur(4px);
  transition:transform .25s ease,box-shadow .25s ease;
}

.mako-featured-card:hover{
  transform:translateY(-7px) rotate(-.5deg);
  box-shadow:0 24px 44px rgba(18,63,67,.16);
}

.mako-featured-card h3{
  padding:0 4px;
  font-family:"Cinzel",serif;
  font-weight:600;
}

.mako-reviews{
  background:linear-gradient(135deg,#edf8f6 0%,#fff 48%,#fff7ef 100%);
}

.mako-review-card .stars,
.mako-reviews-intro .stars{ color:var(--mako-gold); }

@media (max-width:1100px){
  .mako-why-grid{ grid-template-columns:repeat(3,1fr); row-gap:32px; }
  .mako-why-item:nth-child(3){ border-right:0; }
}

@media (max-width:900px){
  .mako-hero-media{ min-height:390px; }
  .mako-hero-copy::before{ display:none; }
  .mako-hero-stats > div:not(:last-child)::after{ display:none; }
}

@media (max-width:767px){
  .mako-section{ padding:68px 0; }
  .mako-wrap{ width:calc(100% - 32px); }
  .mako-why-grid{ grid-template-columns:repeat(2,1fr); }
  .mako-why-item:nth-child(3){ border-right:1px solid rgba(212,167,55,.24); }
  .mako-why-item:nth-child(even){ border-right:0; }
  .mako-featured::before,.mako-featured::after{ width:420px; bottom:-180px; opacity:.48; }
  .mako-featured::before{ left:-300px; }
  .mako-featured::after{ right:-300px; }
}

/* ---------- Bottom-corner powder bursts ---------- */
.mako-reviews{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  padding-top:104px;
  padding-bottom:104px;
}

.mako-reviews > .mako-wrap{
  position:relative;
  z-index:3;
}

.mako-reviews::before,
.mako-reviews::after{
  content:"";
  position:absolute;
  z-index:1;
  bottom:-120px;
  width:min(48vw,680px);
  height:520px;
  pointer-events:none;
  opacity:.9;
  -webkit-mask-image:linear-gradient(to top,#000 0%,#000 52%,rgba(0,0,0,.55) 72%,transparent 100%);
  mask-image:linear-gradient(to top,#000 0%,#000 52%,rgba(0,0,0,.55) 72%,transparent 100%);
}

.mako-reviews::before{
  left:-95px;
  background:
    radial-gradient(circle at 17% 58%,rgba(255,255,255,.9) 0 1px,transparent 2px),
    radial-gradient(circle at 31% 43%,rgba(11,103,104,.95) 0 2px,transparent 3px),
    radial-gradient(circle at 47% 64%,rgba(11,103,104,.86) 0 3px,transparent 4px),
    radial-gradient(circle at 68% 37%,rgba(212,167,55,.68) 0 2px,transparent 3px),
    radial-gradient(circle at 76% 67%,rgba(11,103,104,.72) 0 1px,transparent 2px),
    radial-gradient(ellipse at 5% 100%,rgba(0,107,107,.96) 0%,rgba(11,103,104,.84) 28%,rgba(30,151,148,.58) 51%,transparent 73%);
  background-size:19px 23px,31px 37px,55px 49px,42px 46px,23px 29px,100% 100%;
  filter:saturate(1.25) contrast(1.08);
}

.mako-reviews::after{
  right:-95px;
  background:
    radial-gradient(circle at 83% 58%,rgba(255,255,255,.9) 0 1px,transparent 2px),
    radial-gradient(circle at 69% 43%,rgba(239,133,67,.98) 0 2px,transparent 3px),
    radial-gradient(circle at 53% 64%,rgba(239,133,67,.88) 0 3px,transparent 4px),
    radial-gradient(circle at 32% 37%,rgba(212,167,55,.72) 0 2px,transparent 3px),
    radial-gradient(circle at 24% 67%,rgba(239,133,67,.76) 0 1px,transparent 2px),
    radial-gradient(ellipse at 95% 100%,rgba(238,105,67,.96) 0%,rgba(239,133,67,.86) 28%,rgba(244,167,111,.58) 51%,transparent 73%);
  background-size:19px 23px,31px 37px,55px 49px,42px 46px,23px 29px,100% 100%;
  filter:saturate(1.25) contrast(1.08);
}

.mako-reviews-grid{
  position:relative;
}

.mako-reviews-grid::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-76px;
  width:210px;
  height:38px;
  transform:translateX(-50%);
  background:
    radial-gradient(circle,rgba(212,167,55,.75) 0 1.5px,transparent 2.5px) 0 0/27px 19px,
    radial-gradient(circle,rgba(239,133,67,.5) 0 1px,transparent 2px) 10px 7px/31px 23px;
  opacity:.55;
  pointer-events:none;
}

@media (max-width:767px){
  .mako-reviews{ padding-top:76px; padding-bottom:88px; }
  .mako-reviews::before,.mako-reviews::after{
    width:480px;
    height:390px;
    bottom:-145px;
    opacity:.65;
  }
  .mako-reviews::before{ left:-355px; }
  .mako-reviews::after{ right:-355px; }
  .mako-reviews-grid::after{ display:none; }
}

@media (prefers-reduced-motion:reduce){
  .mako-home *{ scroll-behavior:auto !important; transition:none !important; }
}

/* ---------- Shop / category archive ---------- */
.woocommerce-products-header{
  max-width:1360px; margin:0 auto; padding:64px 24px 0; text-align:center;
}
.woocommerce-products-header__title.page-title{
  margin:0; color:var(--mako-teal-dark); font-family:"Cinzel", serif; font-weight:600;
  font-size:clamp(28px,3.4vw,44px); line-height:1.15; letter-spacing:.03em; text-transform:uppercase;
}
.woocommerce-products-header__title.page-title::before{
  content:""; display:block; width:118px; height:1px; margin:0 auto 16px;
  background:linear-gradient(90deg,transparent,var(--mako-gold),transparent);
}
.woocommerce-products-header__title.page-title::after{
  content:""; display:block; width:74px; height:12px; margin:16px auto 0;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 74 12'%3E%3Cpath d='M2 7c6-8 12 8 18 0s12 8 18 0 12 8 18 0 10 6 14 2' stroke='%23EF8543' stroke-width='2.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/contain;
}
.woocommerce-products-header .term-description,
.term-description{
  max-width:640px; margin:18px auto 0; color:var(--mako-ink); opacity:.75;
  font:400 15px/1.6 "Montserrat", Arial, sans-serif; text-align:center;
}

.woocommerce-breadcrumb{
  max-width:1360px; margin:0 auto; padding:22px 24px 0; color:var(--mako-ink); opacity:.65;
  font:600 11px/1.4 "Montserrat", Arial, sans-serif; text-transform:uppercase; letter-spacing:.08em;
}
.woocommerce-breadcrumb a{ color:var(--mako-teal-deep); text-decoration:none; }
.woocommerce-breadcrumb a:hover{ color:var(--mako-coral); }
.woocommerce-breadcrumb .breadcrumb-separator{ margin:0 6px; opacity:.5; }

.storefront-sorting{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px;
  max-width:1360px; margin:36px auto 0; padding:0 24px 22px; border-bottom:1px solid rgba(18,63,67,.09);
}
.woocommerce-result-count{ margin:0; color:var(--mako-ink); opacity:.7; font:400 13px "Montserrat", Arial, sans-serif; }
.woocommerce-ordering{ margin:0; }
.woocommerce-ordering select.orderby{
  border:1px solid rgba(18,63,67,.18); border-radius:8px; padding:10px 34px 10px 14px; background-color:#fff;
  font:600 12px "Montserrat", Arial, sans-serif; text-transform:uppercase; letter-spacing:.04em; color:var(--mako-teal-dark);
  cursor:pointer; -webkit-appearance:none; appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23123F43' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 10px center; background-size:14px;
}
.woocommerce-ordering select.orderby:focus{ outline:2px solid var(--mako-teal); outline-offset:1px; }
.storefront-sorting .woocommerce-pagination{
  flex-basis:100%; display:flex; justify-content:center; margin:14px 0 0; padding:0; border:0; width:auto;
}
.storefront-sorting .woocommerce-pagination ul.page-numbers{ gap:4px; }
.storefront-sorting .woocommerce-pagination .page-numbers{ min-width:30px; height:30px; font-size:11px; }

.woocommerce ul.products{
  display:grid !important; grid-template-columns:repeat(4,1fr); gap:32px 24px;
  max-width:1360px; margin:40px auto 0 !important; padding:0 24px; list-style:none;
}
.woocommerce ul.products li.product{
  width:auto !important; margin:0 !important; padding:0 !important; float:none !important; text-align:left; position:relative;
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{ display:block; text-decoration:none !important; }
.woocommerce ul.products li.product img{
  width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; border-radius:10px;
  border:1px solid rgba(18,63,67,.1); box-shadow:0 12px 26px rgba(18,63,67,.09);
  display:block; margin:0 0 14px; transition:transform .35s ease, box-shadow .25s ease;
}
.woocommerce ul.products li.product:hover img{ transform:translateY(-4px); box-shadow:0 20px 40px rgba(18,63,67,.15); }
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  margin:0 0 6px; color:var(--mako-teal-dark); font:700 13.5px/1.35 "Montserrat", Arial, sans-serif;
  text-transform:uppercase; letter-spacing:.01em;
}
.woocommerce ul.products li.product .price{ display:block; color:var(--mako-coral); font:700 14px "Montserrat", Arial, sans-serif; }
.woocommerce ul.products li.product .price del{ color:var(--mako-ink); opacity:.45; margin-right:6px; font-weight:400; }
.woocommerce ul.products li.product .price ins{ text-decoration:none; }
.woocommerce ul.products li.product .onsale{
  position:absolute; top:10px; left:10px; z-index:2; margin:0 !important; min-height:0 !important;
  background:var(--mako-coral) !important; color:#fff; font:800 10px/1 "Montserrat", Arial, sans-serif !important;
  text-transform:uppercase; letter-spacing:.05em; padding:6px 10px; border-radius:999px;
  display:inline-flex !important; align-items:center; justify-content:center; width:auto !important; height:auto !important;
}
.woocommerce ul.products li.product .button{ margin-top:10px; padding:9px 16px !important; font-size:11px !important; letter-spacing:.06em; }

.woocommerce-pagination{ margin:56px auto 0; max-width:1360px; padding:32px 24px 0; border-top:1px solid rgba(18,63,67,.09); }
.woocommerce-pagination ul.page-numbers{ display:flex; justify-content:center; align-items:center; gap:8px; list-style:none; margin:0; padding:0; }
.woocommerce-pagination .page-numbers{
  display:inline-flex; align-items:center; justify-content:center; min-width:38px; height:38px; padding:0 10px;
  border-radius:50%; border:1px solid rgba(18,63,67,.15); color:var(--mako-teal-dark);
  font:700 12px "Montserrat", Arial, sans-serif; text-decoration:none !important; transition:all .15s ease;
}
.woocommerce-pagination .page-numbers.current{ background:var(--mako-teal-deep); border-color:var(--mako-teal-deep); color:#fff; }
.woocommerce-pagination .page-numbers:hover:not(.current){ border-color:var(--mako-coral); color:var(--mako-coral); }
.woocommerce-pagination .page-numbers.next, .woocommerce-pagination .page-numbers.prev{ border-radius:999px; padding:0 16px; width:auto; }

@media (max-width:1100px){
  .woocommerce ul.products{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:767px){
  .woocommerce-products-header{ padding-top:40px; }
  .woocommerce ul.products{ grid-template-columns:repeat(2,1fr); gap:22px 16px; }
  .storefront-sorting{ flex-direction:column; align-items:flex-start; }
}
@media (max-width:480px){
  .woocommerce ul.products{ grid-template-columns:1fr; }
}

/* ---------- Single product page ---------- */
.woocommerce div.product{
  max-width:1360px; margin:0 auto; padding:48px 24px 80px; gap:56px;
}
.woocommerce div.product .woocommerce-product-gallery{ max-width:none; }
.woocommerce div.product .woocommerce-product-gallery__wrapper{ border-radius:0; }
.woocommerce div.product .woocommerce-product-gallery img{
  border-radius:12px; border:1px solid rgba(18,63,67,.08);
}
.woocommerce div.product .flex-control-thumbs li img{
  border-radius:8px; opacity:.65; transition:opacity .15s ease, border-color .15s ease;
  border:2px solid transparent;
}
.woocommerce div.product .flex-control-thumbs li img.flex-active,
.woocommerce div.product .flex-control-thumbs li img:hover{
  opacity:1; border-color:var(--mako-coral);
}

.woocommerce div.product .summary.entry-summary{ max-width:560px; }
.woocommerce div.product .product_title.entry-title{
  margin:0 0 18px; color:var(--mako-teal-dark); font-family:"Cinzel", serif; font-weight:600;
  font-size:clamp(24px,2.6vw,34px); line-height:1.2; letter-spacing:.01em; text-transform:none;
}
.woocommerce div.product .woocommerce-product-details__short-description{
  margin:0 0 28px; padding:20px 22px; background:var(--mako-paper); border-radius:10px;
  border-left:3px solid var(--mako-gold);
}
.woocommerce div.product .woocommerce-product-details__short-description p{
  margin:0 0 8px; color:var(--mako-ink); font:400 14.5px/1.6 "Montserrat", Arial, sans-serif;
}
.woocommerce div.product .woocommerce-product-details__short-description p:last-child{ margin-bottom:0; }

.woocommerce div.product form.cart{ margin:0 0 28px; }
.woocommerce div.product table.extra-options{
  width:100%; border-collapse:separate; border-spacing:0 16px; margin:0 0 8px;
}
.woocommerce div.product table.extra-options tr{ display:block; margin-bottom:4px; }
.woocommerce div.product table.extra-options td{ display:block; padding:0 !important; border:0 !important; background:none !important; }
.woocommerce div.product table.extra-options .label-tag{
  display:block; margin-bottom:8px; color:var(--mako-teal-dark) !important; opacity:.85;
  font:700 11px/1.2 "Montserrat", Arial, sans-serif !important; text-transform:uppercase; letter-spacing:.06em;
}
.woocommerce div.product table.extra-options .label-tag .required{ color:var(--mako-coral); text-decoration:none; }
.woocommerce div.product table.extra-options select.thwepo-input-field,
.woocommerce div.product table.extra-options input.thwepo-input-field{
  width:100%; max-width:320px; border:1px solid rgba(18,63,67,.2); border-radius:8px; padding:11px 14px;
  font:400 14px "Montserrat", Arial, sans-serif; color:var(--mako-ink); background-color:#fff;
}
.woocommerce div.product table.extra-options select.thwepo-input-field:focus,
.woocommerce div.product table.extra-options input.thwepo-input-field:focus{
  outline:2px solid var(--mako-teal); outline-offset:1px; border-color:var(--mako-teal);
}

.woocommerce div.product .quantity{ display:inline-block; margin:0 0 20px; }
.woocommerce div.product .quantity .qty{
  width:84px; border:1px solid rgba(18,63,67,.2); border-radius:8px; padding:11px 12px;
  font:600 14px "Montserrat", Arial, sans-serif; color:var(--mako-teal-dark);
}
.woocommerce div.product .quantity .qty:focus{ outline:2px solid var(--mako-teal); outline-offset:1px; }

.woocommerce div.product .single_add_to_cart_button{
  display:inline-flex; align-items:center; justify-content:center; width:100%; max-width:320px;
  padding:15px 28px !important; font:800 13px "Montserrat", Arial, sans-serif !important;
  text-transform:uppercase; letter-spacing:.06em; border-radius:8px !important;
  box-shadow:0 10px 22px rgba(239,133,67,.25);
}

.woocommerce div.product .product_meta{
  margin-top:24px; padding-top:20px; border-top:1px solid rgba(18,63,67,.09);
  font:400 12.5px/1.8 "Montserrat", Arial, sans-serif; color:var(--mako-ink); opacity:.75;
}
.woocommerce div.product .product_meta span{ display:block; }
.woocommerce div.product .product_meta a{ color:var(--mako-teal-deep); text-decoration:none; }
.woocommerce div.product .product_meta a:hover{ color:var(--mako-coral); }

.related.products,
.upsells.products{
  max-width:1360px; margin:0 auto; padding:0 24px 80px;
}
.related.products > h2,
.upsells.products > h2{
  text-align:center; margin:0 0 12px; color:var(--mako-teal-dark); font-family:"Cinzel", serif;
  font-weight:600; font-size:clamp(22px,2.6vw,32px); text-transform:uppercase; letter-spacing:.03em;
}
.related.products > h2::after,
.upsells.products > h2::after{
  content:""; display:block; width:64px; height:10px; margin:14px auto 30px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 74 12'%3E%3Cpath d='M2 7c6-8 12 8 18 0s12 8 18 0 12 8 18 0 10 6 14 2' stroke='%23EF8543' stroke-width='2.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/contain;
}
.related.products ul.products,
.upsells.products ul.products{ margin-top:0 !important; padding:0 !important; max-width:none; }

@media (max-width:900px){
  .woocommerce div.product{ padding:32px 20px 56px; gap:36px; }
  .woocommerce div.product .summary.entry-summary{ max-width:none; }
}

/* Fix Extra Product Options radio/checkbox labels ("A" / "An", etc.)
   breaking mid-word onto a second line inside the narrow options column. */
.thwepo_radio label.thwepo-radio-input-field span,
.thwepo_checkbox label.thwepo-checkbox-input-field span,
.thwepo-radio-input-field span,
.thwepo-checkbox-input-field span{
  white-space:nowrap !important;
  overflow-wrap:normal !important;
  word-break:keep-all !important;
}
.thwepo_radio label.thwepo-radio-input-field,
.thwepo_checkbox label.thwepo-checkbox-input-field{
  display:inline-flex !important;
  align-items:center !important;
  width:auto !important;
  white-space:nowrap !important;
}
/* cache-bust: home-of label wrap fix v2 */

/* Print-Ready Visualizer (live mockup on product page) */
.mako-viz{ max-width:640px; margin:32px 0; padding:24px; border:1px solid rgba(18,63,67,.12); border-radius:14px; background:var(--mako-paper); }
.mako-viz-title{ font:800 15px/1.2 "Open Sans", Arial, sans-serif; text-transform:uppercase; letter-spacing:.04em; color:var(--mako-teal-dark); margin-bottom:16px; }
.mako-viz-row{ margin-bottom:18px; }
.mako-viz-controls{ display:flex; flex-wrap:wrap; gap:20px; }
.mako-viz-group label{ display:block; font:700 11px/1.2 "Open Sans", Arial, sans-serif; text-transform:uppercase; letter-spacing:.03em; color:var(--mako-ink); margin-bottom:8px; }
.mako-viz-btns{ display:flex; gap:8px; }
.mako-viz-opt{ padding:8px 14px; border:1.5px solid rgba(18,63,67,.25); background:#fff; border-radius:8px; font:700 13px/1 "Open Sans", Arial, sans-serif; color:var(--mako-teal-dark); cursor:pointer; transition:all .15s ease; }
.mako-viz-opt.is-active{ background:var(--mako-teal-dark); border-color:var(--mako-teal-dark); color:#fff; }
#mako-viz-qty{ width:70px; padding:8px; border:1.5px solid rgba(18,63,67,.25); border-radius:8px; font-size:14px; }
.mako-viz-upload{ display:flex; align-items:center; justify-content:center; gap:8px; padding:22px; border:2px dashed rgba(18,63,67,.3); border-radius:10px; cursor:pointer; text-align:center; font:600 14px/1.4 "Open Sans", Arial, sans-serif; color:var(--mako-teal-dark); }
.mako-viz-upload:hover{ border-color:var(--mako-teal-dark); background:#fff; }
.mako-viz-upload input[type=file]{ display:none; }
.mako-viz-canvas-wrap{ text-align:center; margin-bottom:16px; }
#mako-viz-canvas{ max-width:100%; border-radius:10px; box-shadow:0 10px 28px rgba(18,63,67,.15); cursor:grab; touch-action:none; }
.mako-viz-hint{ font-size:12px; color:var(--mako-ink); opacity:.65; margin-top:8px; }
.mako-viz-checks{ margin-bottom:14px; }
.mako-viz-check{ font:600 13px/1.5 "Open Sans", Arial, sans-serif; padding:10px 12px; border-radius:8px; margin-bottom:8px; }
.mako-viz-check.ok{ background:#e8f6ee; color:#1c6b3d; }
.mako-viz-check.warn{ background:#fdf3e0; color:#8a5a10; }
.mako-viz-check.bad{ background:#fbe8e8; color:#a3231f; }
.mako-viz-approve{ display:flex; align-items:flex-start; gap:10px; font:600 13px/1.4 "Open Sans", Arial, sans-serif; color:var(--mako-ink); margin-bottom:16px; cursor:pointer; }
.mako-viz-approve input{ margin-top:2px; }
#mako-viz-submit{ width:100%; padding:14px; border:none; border-radius:10px; background:var(--mako-teal-dark); color:#fff; font:800 15px/1 "Open Sans", Arial, sans-serif; text-transform:uppercase; letter-spacing:.03em; cursor:pointer; }
#mako-viz-submit:disabled{ opacity:.45; cursor:not-allowed; }
#mako-viz-submit:not(:disabled):hover{ background:var(--mako-teal); }

/* Hide native controls the visualizer replaces, only on pages where it's active.
   Scoped per product wrapper (#product-2631, #product-2630, #product-2690) so
   this only hides controls for products that actually have a visualizer,
   even when multiple products are embedded together on the consolidated
   /print-ready-files/ page. */
body.mako-viz-active #product-2631 table.variations,
body.mako-viz-active #product-2631 tr.thwepo_file.print_ready_file,
body.mako-viz-active #product-2630 table.variations,
body.mako-viz-active #product-2630 tr.thwepo_file.print_ready_file,
body.mako-viz-active #product-2690 table.variations,
body.mako-viz-active #product-2690 tr.thwepo_file.print_ready_file{ display:none !important; }

/* The visualizer shows the customer's own exact uploaded design (no staged
   photo), so the standard product gallery photo above it is redundant and
   can look like a misleading "mockup". Hide it on these three products and
   let the details/upload column take the full width. */
body.mako-viz-active #product-2631 .images,
body.mako-viz-active #product-2630 .images,
body.mako-viz-active #product-2690 .images{ display:none !important; }
body.mako-viz-active #product-2631 .summary.entry-summary,
body.mako-viz-active #product-2630 .summary.entry-summary,
body.mako-viz-active #product-2690 .summary.entry-summary{
  width:100% !important; max-width:100% !important; flex:0 0 100% !important;
  margin-left:0 !important; float:none !important;
}

/* The top price range (e.g. "$0.00 – $49.99") is confusing here, since $0.00
   only reflects the placeholder "Custom Size" option, and the real price
   already shows clearly inside the upload tool itself. */
body.mako-viz-active #product-2631 .summary.entry-summary > p.price,
body.mako-viz-active #product-2630 .summary.entry-summary > p.price,
body.mako-viz-active #product-2690 .summary.entry-summary > p.price{ display:none !important; }

/* ---------- Homepage redesign phase 1: "Why Choose Mako?" dark contrast section ---------- */
.mako-why{
  background:var(--mako-teal-dark);
  border-top:0;
  border-bottom:0;
}
.mako-why .mako-section-title::before{ background:linear-gradient(90deg,transparent,var(--mako-gold),transparent); }
.mako-why .mako-section-title::after{ filter:brightness(1.3); }
.mako-why .mako-section-title .eyebrow{ color:var(--mako-gold); }
.mako-why .mako-section-title h2{ color:#fff; }
.mako-why .mako-section-title p{ color:rgba(255,255,255,.78); }

.mako-why-grid{
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.mako-why-item{
  padding:34px 22px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
}
.mako-why-item:hover{
  transform:translateY(-4px);
  background:rgba(255,255,255,.1);
  border-color:var(--mako-gold);
}
.mako-why-item .icon{
  width:58px; height:58px;
  background:rgba(212,167,55,.14);
  border:1.5px solid var(--mako-gold);
  color:var(--mako-gold);
  box-shadow:none;
}
.mako-why-item h3{ color:#fff; }
.mako-why-item p{ color:rgba(255,255,255,.75); }

@media (max-width:900px){
  .mako-why-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:520px){
  .mako-why-grid{ grid-template-columns:1fr; }
}

/* ---------- Homepage redesign phase 3: smaller, secondary Etsy feature ---------- */
.mako-etsy-feature{ background:var(--mako-paper); }
.mako-etsy-feature h2{ margin-bottom:10px; }
.mako-etsy-feature p{ margin-bottom:22px; }

/* ---------- Homepage redesign phase 2: "How Can We Best Serve You?" 3-card nav ---------- */
.mako-serve-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.mako-serve-card{
  display:flex; flex-direction:column; text-decoration:none !important; background:#fff; border-radius:14px; overflow:hidden;
  border:1px solid rgba(18,63,67,.08); box-shadow:0 14px 34px rgba(18,63,67,.08);
  transition:transform .25s ease, box-shadow .25s ease;
}
.mako-serve-card .body{ display:flex; flex-direction:column; flex:1 1 auto; }
.mako-serve-card .body > .mako-btn{ margin-top:auto; align-self:flex-start; }
.mako-serve-card:hover{ transform:translateY(-6px); box-shadow:0 22px 44px rgba(18,63,67,.14); }
.mako-serve-card .thumb{ aspect-ratio:4/3; overflow:hidden; }
.mako-serve-card .thumb img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.mako-serve-card:hover .thumb img{ transform:scale(1.05); }
.mako-serve-card .body{ padding:26px 24px 28px; }
.mako-serve-card .badge{
  display:inline-block; align-self:flex-start; padding:5px 12px; border-radius:999px; margin-bottom:14px;
  font:800 11px/1 "Open Sans", Arial, sans-serif; text-transform:uppercase; letter-spacing:.06em;
}
.mako-serve-card h3{ margin:0 0 10px; color:var(--mako-teal-dark); font:600 19px/1.25 "Cinzel", serif; text-transform:uppercase; letter-spacing:.01em; }
.mako-serve-card p{ margin:0 0 20px; color:var(--mako-ink); font:400 14.5px/1.6 "Open Sans", Arial, sans-serif; }
.mako-serve-family .badge{ background:var(--mako-mint); color:var(--mako-teal-deep); }
.mako-serve-business .badge{ background:#FDEBDD; color:var(--mako-coral); }
.mako-serve-print .badge{ background:#FBF1DD; color:#a3801f; }
.mako-btn-gold{ background:var(--mako-gold); color:#fff !important; }
.mako-btn-coral{ background:var(--mako-coral); color:#fff !important; }
.mako-serve-print .thumb{ background:#fff; aspect-ratio:1374/1145; }
.mako-serve-print .thumb img{ object-fit:contain; }
.mako-serve-business .thumb{ background:#fff; aspect-ratio:1374/1145; }
.mako-serve-business .thumb img{ object-fit:contain; }
.mako-serve-family .thumb{ background:#fff; aspect-ratio:1374/1145; }
.mako-serve-family .thumb img{ object-fit:contain; }

/* ---------- Homepage: standalone "Get In Touch" contact form, above footer ---------- */
.mako-contact-footer{ background:#fff; }

/* ---------- Consolidated Print-Ready page: Banner / Yard Sign toggle ---------- */
.mako-pr-toggle{ display:flex; justify-content:center; gap:12px; margin:0 0 36px; flex-wrap:wrap; }
.mako-pr-toggle-btn{
  padding:12px 28px; border-radius:999px; border:1.5px solid var(--mako-teal-dark);
  background:#fff; color:var(--mako-teal-dark); font:700 14px/1 "Open Sans", Arial, sans-serif;
  text-transform:uppercase; letter-spacing:.04em; cursor:pointer; transition:background .2s ease, color .2s ease;
}
.mako-pr-toggle-btn.is-active{ background:var(--mako-teal-dark); color:#fff; }
.mako-pr-toggle-btn:not(.is-active):hover{ background:rgba(18,63,67,.06); }
.mako-pr-panel{ display:none; }
.mako-pr-panel.is-active{ display:block; }
.mako-contact-footer-row{
  display:grid; grid-template-columns:0.85fr 1.15fr; gap:56px; align-items:start;
}
.mako-contact-footer-copy .eyebrow{ display:block; }
.mako-contact-footer-location{
  display:flex; align-items:center; gap:8px;
  color:var(--mako-teal-dark); font-weight:600; margin-top:8px;
}
.mako-contact-footer-location svg{ flex:none; color:var(--mako-coral); }
.mako-contact-footer-form{
  background:#fff; border-radius:14px; padding:32px;
  border:1px solid rgba(18,63,67,.08); box-shadow:0 14px 34px rgba(18,63,67,.08);
}
.mako-footer-contact-form .grunion-field-label{
  display:block; margin:0 0 6px; font:600 14px/1.3 "Open Sans", Arial, sans-serif; color:var(--mako-teal-dark);
}
.mako-footer-contact-form input[type="text"],
.mako-footer-contact-form input[type="tel"],
.mako-footer-contact-form input[type="email"],
.mako-footer-contact-form textarea{
  width:100%; padding:11px 14px; border:1px solid rgba(18,63,67,.18); border-radius:8px;
  font:400 15px/1.4 "Open Sans", Arial, sans-serif; margin-bottom:18px; background:#fff;
}
.mako-footer-contact-form textarea{ min-height:110px; resize:vertical; }
.mako-footer-contact-form button{
  background:var(--mako-teal-deep); color:#fff; border:0; border-radius:999px;
  padding:12px 28px; font:700 14px/1 "Open Sans", Arial, sans-serif; text-transform:uppercase; letter-spacing:.04em;
  cursor:pointer; transition:background .2s ease;
}
.mako-footer-contact-form button:hover{ background:var(--mako-teal-dark); }

@media (max-width:900px){
  .mako-contact-footer-row{ grid-template-columns:1fr; gap:32px; }
}

@media (max-width:900px){
  .mako-serve-grid{ grid-template-columns:1fr; max-width:520px; margin:0 auto; }
}

/* ---------- Homepage redesign: File to Print flattened graphic, full-bleed ---------- */
.mako-print-ready{ padding:0; background:none; }
.mako-print-ready a{ display:block; line-height:0; }

/* ---------- Hero slider ---------- */
.mako-hero-slide{ display:none; opacity:0; transition:opacity .45s ease; }
.mako-hero-slide.is-active{ display:block; opacity:1; }
.mako-hero-slide.is-leaving{ opacity:0; }

.mako-hero-dots{
  position:relative; z-index:5; display:flex; justify-content:center; gap:10px;
  padding-bottom:20px;
}
.mako-hero-dot{
  width:10px; height:10px; border-radius:50%; border:1.5px solid var(--mako-teal-dark);
  background:transparent; padding:0; cursor:pointer; transition:background .2s ease, transform .2s ease;
}
.mako-hero-dot.is-active{ background:var(--mako-teal-dark); transform:scale(1.2); }
.mako-hero-dot:hover{ background:rgba(18,63,67,.4); }

.mako-hero-media-wide .mako-hero-img-main{
  width:auto;
  max-width:100%;
  height:auto;
  max-height:480px;
  aspect-ratio:auto;
  object-fit:contain;
  display:block;
  margin:0 auto;
}

/* ---------- Reviews section: real powder-burst image instead of generated one ---------- */
.mako-reviews::before,
.mako-reviews::after{ content:none; }
.mako-reviews{
  background-image:url('https://makoprintingdesigns.com/wp-content/uploads/2026/09/Reviews-Section-Powder-Overlay.png');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

