:root{
  --pink:#dd8490;
  --pink-dark:#c96976;
  --cream:#fff8f4;
  --beige:#ead7ca;
  --text:#312b2b;
  --muted:#766b6b;
  --white:#ffffff;
  --shadow:0 20px 60px rgba(50,35,35,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--text);background:#fff}
a{color:inherit;text-decoration:none}.top-bar{height:36px;background:linear-gradient(90deg,#fff0ed,#fff8f4);display:flex;align-items:center;justify-content:center;gap:36px;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.08em}.top-bar span:before{content:'♥';color:var(--pink);margin-right:10px}.site-header{height:92px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 7vw;border-bottom:1px solid #f1e3dd}.logo{font-family:'Great Vibes',cursive;font-size:42px;color:var(--pink-dark);line-height:.8}.logo small{display:block;font-family:Inter,sans-serif;text-transform:uppercase;letter-spacing:.45em;font-size:12px;font-weight:800;margin-left:28px;color:var(--pink)}.nav{display:flex;gap:30px;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.05em}.nav a:hover{color:var(--pink-dark)}.menu-btn{display:none;background:none;border:0;font-size:28px}.hero{min-height:560px;display:grid;grid-template-columns:1fr 1.15fr;align-items:center;padding:7vw;gap:40px;background:linear-gradient(120deg,#fff,#fff7f4)}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.22em;color:var(--muted);font-size:13px;font-weight:700}.hero h1{font-family:'Playfair Display',serif;font-size:72px;line-height:.95;margin:14px 0}.hero h1 span{color:var(--pink)}.hero-text{font-size:19px;line-height:1.7;color:var(--muted);max-width:470px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 26px;border-radius:6px;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.06em;margin-right:12px}.primary{background:var(--pink);color:white;box-shadow:0 10px 25px rgba(221,132,144,.25)}.primary:hover{background:var(--pink-dark)}.secondary{border:1px solid #7e6d6d}.image-placeholder{min-height:360px;border:2px dashed #deb9b9;border-radius:22px;background:linear-gradient(135deg,#f9e9e4,#fff7f3);display:flex;align-items:center;justify-content:center;text-align:center;color:#9b7777;padding:24px}.hero-image{height:480px;box-shadow:var(--shadow)}.section{padding:70px 7vw;text-align:center}.section h2,.custom-order h2{font-family:'Playfair Display',serif;font-size:42px;text-transform:uppercase;letter-spacing:.04em;margin:8px 0 34px}.category-grid,.product-grid,.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.category-card,.product-card,blockquote{background:white;border-radius:16px;box-shadow:var(--shadow);padding:18px;text-align:left}.card-img,.product-img{min-height:180px;border-radius:12px;margin-bottom:16px}.category-card h3,.product-card h3{font-size:14px;text-transform:uppercase;letter-spacing:.04em}.category-card a,.product-card p{color:var(--pink-dark);font-weight:700}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#eadbd4;padding:0 7vw}.features div{background:linear-gradient(#fff8f4,#fff);padding:34px}.features span{font-size:32px;color:var(--pink)}.features h3{text-transform:uppercase;font-size:13px;letter-spacing:.07em}.features p{color:var(--muted);font-size:14px}.centre{margin:32px auto 0}.products .btn{display:flex;width:max-content}.reviews{background:linear-gradient(#fff,#fff3f0)}.review-grid{grid-template-columns:repeat(3,1fr)}blockquote{font-size:15px;line-height:1.7;margin:0}cite{display:block;margin-top:12px;font-style:normal;font-weight:800}.custom-order{margin:60px 7vw;padding:45px;border-radius:28px;background:linear-gradient(120deg,#fff1ee,#fff8f4);display:flex;justify-content:space-between;align-items:center;gap:24px}.custom-order p{color:var(--muted);max-width:620px}.footer{background:#fff0ed;display:grid;grid-template-columns:1.4fr .8fr 1fr 1.3fr;gap:36px;padding:55px 7vw;color:#4a3e3e}.footer h3{text-transform:uppercase;font-size:13px;letter-spacing:.08em}.footer a{display:block;margin:8px 0;color:var(--muted)}input{width:100%;padding:14px;border:1px solid #e7c6c6;border-radius:6px;margin-bottom:8px}button{padding:13px 20px;border:0;border-radius:6px;background:var(--pink);color:white;font-weight:800;text-transform:uppercase}
@media(max-width:900px){.nav{display:none}.menu-btn{display:block}.top-bar{font-size:10px;gap:10px}.hero{grid-template-columns:1fr;padding:50px 22px}.hero h1{font-size:52px}.category-grid,.product-grid,.features,.footer{grid-template-columns:1fr 1fr}.review-grid{grid-template-columns:1fr}.custom-order{flex-direction:column;align-items:flex-start}.site-header{padding:0 22px}.logo{font-size:34px}}
@media(max-width:560px){.category-grid,.product-grid,.features,.footer{grid-template-columns:1fr}.hero h1{font-size:44px}.hero-image{height:340px}.section{padding:50px 22px}.top-bar span:nth-child(2){display:none}}

/* Custom order builder */
.builder-section{background:linear-gradient(#fff,#fff8f4)}
.builder-intro{max-width:760px;margin:0 auto 34px;color:var(--muted);line-height:1.7}.builder-wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:28px;align-items:start;text-align:left}.order-form,.badge-preview-card{background:#fff;border:1px solid #f0ded8;border-radius:24px;box-shadow:var(--shadow);padding:26px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#554848;margin-bottom:16px}select,input,textarea{font-family:Inter,system-ui,sans-serif;font-size:15px;margin-top:8px;background:#fffdfc}select,textarea{width:100%;padding:14px;border:1px solid #e7c6c6;border-radius:6px}textarea{resize:vertical}.form-note{font-size:13px;color:var(--muted);line-height:1.5;margin:12px 0 0}.badge-preview-card{position:sticky;top:120px;text-align:center}.badge-preview{min-height:170px;margin:20px auto;padding:24px;background:#312b2b;color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;box-shadow:0 18px 45px rgba(49,43,43,.25);border:4px solid rgba(255,255,255,.8);overflow:hidden}.badge-preview strong{font-size:34px;line-height:1.1;text-transform:uppercase;letter-spacing:.05em}.badge-preview span{font-size:16px;margin-top:8px}.badge-preview.rounded{border-radius:28px}.badge-preview.oval{border-radius:999px}.badge-preview.circle{width:220px;height:220px;border-radius:50%}.badge-preview.custom{border-radius:28px 10px 28px 10px}.preview-details{background:#fff8f4;border-radius:16px;padding:16px;text-align:left;color:var(--muted)}.preview-details p{margin:8px 0}
@media(max-width:900px){.builder-wrap{grid-template-columns:1fr}.badge-preview-card{position:static}.form-row{grid-template-columns:1fr}}

.form-row.single-field{grid-template-columns:1fr}


/* Pricing + simple checkout preview */
.included-box{background:#fff8f4;border:1px solid #efd9d2;border-radius:16px;padding:16px;margin:4px 0 18px;color:#554848;line-height:1.5}.included-box strong{display:block;text-transform:uppercase;letter-spacing:.06em;font-size:12px;margin-bottom:5px}.included-box span{color:var(--muted);font-size:14px}.checkout-box{background:linear-gradient(135deg,#fff8f4,#fff);border:1px solid #efd9d2;border-radius:20px;padding:18px;margin-top:18px}.price-line,.price-total{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:9px 0;color:var(--muted)}.price-total{border-top:1px solid #ecd8d1;margin-top:8px;padding-top:16px;color:var(--text);font-size:19px}.wide{width:100%;margin:12px 0 0}.pay{background:#1f1b1b;color:#fff;opacity:.88;cursor:not-allowed}.badge-preview.keyring{border-radius:999px;min-height:145px;max-width:290px}.badge-preview.bagtag{border-radius:18px;min-height:155px;max-width:330px}.badge-preview.keyring:before{content:'○';font-size:26px;opacity:.55;margin-bottom:4px}.badge-preview.bagtag:before{content:'•';font-size:32px;line-height:.6;align-self:flex-start;margin-left:18px;opacity:.55}


/* Latest Pilly & Woof builder polish */
.category-card,.product-card,.btn{transition:transform .2s ease, box-shadow .2s ease, background .2s ease}
.category-card:hover,.product-card:hover{transform:translateY(-5px);box-shadow:0 24px 70px rgba(50,35,35,.16)}
.contact-note{background:#fff8f4;border:1px solid #efd9d2;border-radius:14px;padding:14px 16px;color:var(--muted);font-size:14px;line-height:1.5;margin:0 0 18px}.contact-note a{color:var(--pink-dark);font-weight:800;text-decoration:underline}.badge-preview{transition:background .2s ease,color .2s ease,border-radius .2s ease,transform .2s ease,font-family .2s ease}.badge-preview:hover{transform:scale(1.015)}
#fontStyle option[value="Bangers"],#secondFontStyle option[value="Bangers"]{font-family:'Bangers',system-ui}#fontStyle option[value="Bentham"],#secondFontStyle option[value="Bentham"]{font-family:'Bentham',serif}#fontStyle option[value="Chewy"],#secondFontStyle option[value="Chewy"]{font-family:'Chewy',system-ui}#fontStyle option[value="Damion"],#secondFontStyle option[value="Damion"]{font-family:'Damion',cursive}#fontStyle option[value="Rethink Sans"],#secondFontStyle option[value="Rethink Sans"]{font-family:'Rethink Sans',sans-serif}


/* Realer live preview shapes based on your keyring + luggage tag designs */
.badge-preview.keyring{
  position:relative;
  min-height:170px;
  max-width:410px;
  width:100%;
  background:transparent !important;
  box-shadow:none;
  border:0;
  padding:34px 20px 34px 74px;
  color:var(--text-colour);
}
.badge-preview.keyring::before{
  content:"";
  position:absolute;
  left:28px;
  top:50%;
  width:42px;
  height:42px;
  border-radius:50%;
  border:18px solid var(--base-colour);
  transform:translateY(-50%);
  box-shadow:0 12px 28px rgba(0,0,0,.18);
  background:#fff8f4;
  z-index:0;
}
.badge-preview.keyring::after{
  content:"";
  position:absolute;
  inset:42px 26px 42px 58px;
  border-radius:999px;
  background:var(--base-colour);
  box-shadow:0 12px 28px rgba(0,0,0,.18);
  z-index:0;
}
.badge-preview.keyring strong{
  position:relative;
  z-index:1;
  max-width:250px;
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-align:center;
  line-height:1;
  text-transform:none;
  letter-spacing:0;
  paint-order:stroke fill;
  -webkit-text-stroke:5px var(--base-colour);
  text-shadow:0 2px 3px rgba(0,0,0,.25);
}
.badge-preview.keyring span{display:none !important;}

.badge-preview.luggage{
  position:relative;
  max-width:310px;
  width:100%;
  min-height:230px;
  border-radius:10px;
  border:3px solid rgba(255,255,255,.82);
  box-shadow:0 18px 38px rgba(0,0,0,.18);
  padding:58px 28px 30px;
  background:var(--base-colour);
  color:var(--text-colour);
}
.badge-preview.luggage::before{
  content:"";
  position:absolute;
  top:18px;
  left:50%;
  width:22px;
  height:22px;
  border-radius:50%;
  transform:translateX(-50%);
  background:#fff8f4;
  border:3px solid rgba(0,0,0,.18);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.45);
}
.badge-preview.luggage strong{
  max-width:220px;
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-align:center;
  text-transform:none;
  letter-spacing:0;
  line-height:1.05;
  text-shadow:0 2px 3px rgba(0,0,0,.18);
}
.badge-preview.luggage span{
  font-size:16px;
  margin-top:8px;
  opacity:.95;
}


/* V2 preview fitting: keep keyring/luggage text fully visible */
.badge-preview.keyring strong,
.badge-preview.luggage strong{
  overflow:visible;
}
.badge-preview.keyring strong{
  max-width:250px;
}
.badge-preview.luggage strong{
  max-width:220px;
}




/* Bag Tag and Pet Tag previews based on the supplied printed designs */
.badge-preview.bagtag{
  position:relative;
  width:100%;
  max-width:410px;
  min-height:165px;
  padding:36px 30px 36px 86px;
  background:transparent !important;
  border:0;
  box-shadow:none;
  color:var(--text-colour);
  overflow:visible;
}
.badge-preview.bagtag::before{
  content:"";
  position:absolute;
  left:25px;
  top:50%;
  width:48px;
  height:48px;
  border-radius:50%;
  border:16px solid var(--base-colour);
  background:#fff8f4;
  transform:translateY(-50%);
  box-shadow:0 12px 28px rgba(0,0,0,.16);
  z-index:0;
}
.badge-preview.bagtag::after{
  content:"";
  position:absolute;
  left:63px;
  right:18px;
  top:42px;
  bottom:42px;
  clip-path:polygon(0 5%,100% 13%,100% 87%,0 95%);
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.95) 0 16px,rgba(255,255,255,.55) 16px 20px) top/100% 9px no-repeat,
    repeating-linear-gradient(90deg,rgba(255,255,255,.95) 0 16px,rgba(255,255,255,.55) 16px 20px) bottom/100% 9px no-repeat,
    linear-gradient(var(--base-colour),var(--base-colour));
  box-shadow:0 12px 28px rgba(0,0,0,.16);
  z-index:0;
}
.badge-preview.bagtag strong{
  position:relative;
  z-index:1;
  display:block;
  max-width:275px;
  white-space:nowrap;
  text-align:center;
  line-height:1;
  text-transform:none;
  letter-spacing:0;
  text-shadow:0 2px 3px rgba(0,0,0,.18);
}
.badge-preview.bagtag span{display:none !important;}

 .badge-preview.pettag{
  position:relative;
  width:310px;
  max-width:100%;
  min-height:180px;
  padding:54px 48px 40px;
  background:transparent !important;
  border:0;
  box-shadow:none;
  color:var(--text-colour);
  overflow:visible;
}
.badge-preview.pettag::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:290px;
  height:150px;
  transform:translate(-50%,-50%);
  background:var(--base-colour);
  border-radius:48px;
  clip-path:path("M68 22 C52 2 19 4 13 29 C8 48 22 62 40 69 C22 76 8 90 13 115 C19 142 52 145 68 124 C92 130 198 130 222 124 C238 145 271 142 277 115 C282 90 268 76 250 69 C268 62 282 48 277 29 C271 4 238 2 222 22 C198 17 92 17 68 22 Z");
  filter:drop-shadow(8px 9px 0 rgba(105,105,105,.28)) drop-shadow(0 12px 20px rgba(0,0,0,.16));
  z-index:0;
}
.badge-preview.pettag::after{
  content:"";
  position:absolute;
  top:30px;
  left:50%;
  width:16px;
  height:10px;
  border-radius:999px;
  transform:translateX(-50%);
  background:#fff8f4;
  border:3px solid rgba(0,0,0,.18);
  z-index:1;
}
.badge-preview.pettag strong{
  position:relative;
  z-index:2;
  display:block;
  max-width:190px;
  white-space:nowrap;
  text-align:center;
  line-height:1;
  text-transform:none;
  letter-spacing:0;
  paint-order:stroke fill;
  -webkit-text-stroke:3px rgba(0,0,0,.18);
  text-shadow:0 2px 3px rgba(0,0,0,.22);
}
.badge-preview.pettag span{display:none !important;}

@media(max-width:560px){
  .badge-preview.bagtag{max-width:340px;padding-left:76px}
  .badge-preview.bagtag::after{left:56px}
  .badge-preview.pettag{width:270px;min-height:170px;padding-left:42px;padding-right:42px}
  .badge-preview.pettag::before{transform:translate(-50%,-50%) scale(.88)}
}


/* Multi-item shopping cart */
.header-actions{display:flex;align-items:center;gap:12px}
.cart-button{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid #ead5ce;border-radius:999px;background:#fff;color:#554848;text-transform:uppercase;font-size:11px;letter-spacing:.06em;box-shadow:0 6px 18px rgba(112,77,77,.08);cursor:pointer}
.cart-button:hover{border-color:var(--pink);color:var(--pink-dark)}
.cart-button strong{display:inline-grid;place-items:center;min-width:23px;height:23px;padding:0 6px;border-radius:999px;background:var(--pink);color:#fff;font-size:11px}
.cart-backdrop{position:fixed;inset:0;background:rgba(44,32,32,.42);z-index:80;opacity:0;transition:opacity .2s ease}
.cart-backdrop.is-open{opacity:1}
.cart-drawer{position:fixed;top:0;right:0;width:min(480px,100%);height:100dvh;background:#fffdfc;z-index:90;box-shadow:-20px 0 55px rgba(54,37,37,.2);transform:translateX(105%);transition:transform .25s ease;display:flex;flex-direction:column;text-align:left}
.cart-drawer.is-open{transform:translateX(0)}
.cart-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;padding:24px;border-bottom:1px solid #f0ded8}
.cart-drawer-header h2{font-family:'Playfair Display',serif;margin:4px 0 0;font-size:30px;text-transform:uppercase}
.cart-close{width:42px;height:42px;padding:0;border-radius:50%;background:#fff0ed;color:#6a5353;font-size:30px;line-height:1;cursor:pointer}
.cart-empty{margin:auto;padding:40px;text-align:center;color:var(--muted)}
.cart-empty strong{display:block;color:#554848;font-size:20px;margin-bottom:8px}
.cart-items{padding:18px 22px;overflow:auto;display:grid;gap:14px}
.cart-item{border:1px solid #f0ded8;border-radius:16px;background:#fff;padding:16px;box-shadow:0 8px 22px rgba(96,67,67,.07)}
.cart-item-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.cart-item h3{margin:0;font-size:15px;text-transform:uppercase;letter-spacing:.04em}
.cart-item-price{font-weight:800;color:var(--pink-dark);white-space:nowrap}
.cart-item-details{margin:10px 0;color:var(--muted);font-size:13px;line-height:1.55}
.cart-item-details strong{color:#554848}
.cart-item-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;flex-wrap:wrap}
.cart-qty{display:flex;align-items:center;border:1px solid #ead5ce;border-radius:8px;overflow:hidden}
.cart-qty button{width:34px;height:34px;padding:0;border-radius:0;background:#fff0ed;color:#6a5353;font-size:18px;cursor:pointer}
.cart-qty span{min-width:38px;text-align:center;font-weight:800;font-size:13px}
.cart-item-actions{display:flex;gap:8px}
.cart-link-button{padding:7px 9px;border-radius:7px;background:#fff;color:var(--pink-dark);border:1px solid #e8c8c8;text-transform:none;font-size:12px;cursor:pointer}
.cart-link-button.remove{color:#9a3f3f}
.cart-footer{margin-top:auto;padding:20px 22px 24px;border-top:1px solid #f0ded8;background:#fff8f4}
.cart-footer p{font-size:12px;color:var(--muted);line-height:1.45;margin:8px 0 14px}
.cart-subtotal{display:flex;align-items:center;justify-content:space-between;font-size:18px}
.cart-subtotal strong{font-size:22px;color:var(--pink-dark)}
.cart-toast{position:fixed;left:50%;bottom:24px;z-index:110;transform:translate(-50%,20px);opacity:0;background:#493c3c;color:#fff;padding:13px 18px;border-radius:999px;font-weight:700;font-size:13px;pointer-events:none;transition:.2s ease;box-shadow:0 12px 30px rgba(0,0,0,.2)}
.cart-toast.show{opacity:1;transform:translate(-50%,0)}
body.cart-open{overflow:hidden}
.checkout-box .secondary{background:#fff;color:#6a5353;border:1px solid #d9baba;box-shadow:none;margin-top:10px}
.cancel-edit{display:block;margin:10px auto 0;padding:5px;background:transparent;color:var(--pink-dark);text-transform:none;text-decoration:underline;cursor:pointer}
.edit-notice{padding:10px 12px;border-radius:8px;background:#fff0ed;color:#8a4f59;font-size:13px;font-weight:700}

@media(max-width:900px){
  .cart-button span:nth-child(2){display:none}
  .cart-button{padding:9px 10px}
}
@media(max-width:560px){
  .cart-drawer{width:100%}
  .cart-drawer-header{padding:20px}
  .cart-items{padding:14px}
  .cart-footer{padding:16px}
  .cart-toast{width:calc(100% - 32px);text-align:center;border-radius:12px}
}


/* Real product photography */
.hero-image{
  padding:0;
  overflow:hidden;
  border-radius:24px;
  background:#f7eee9;
  box-shadow:var(--shadow);
}
.hero-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.card-img,.product-img{
  display:block;
  width:100%;
  height:220px;
  min-height:0;
  object-fit:cover;
  object-position:center;
  border-radius:12px;
  background:#f7eee9;
}
.category-card{overflow:hidden}
.product-photo-viewer{position:relative;margin-bottom:16px}
.product-photo-viewer .product-img{margin-bottom:0;transition:opacity .16s ease}
.photo-toggle{
  position:absolute;
  left:50%;
  bottom:10px;
  transform:translateX(-50%);
  display:flex;
  gap:4px;
  padding:4px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  box-shadow:0 8px 22px rgba(44,31,31,.16);
  backdrop-filter:blur(8px);
}
.photo-toggle button{
  padding:7px 12px;
  border-radius:999px;
  background:transparent;
  color:#6a5353;
  font-size:10px;
  letter-spacing:.05em;
  cursor:pointer;
}
.photo-toggle button.is-active{background:var(--pink);color:#fff}
.cart-item-photo{
  width:100%;
  height:115px;
  object-fit:cover;
  border-radius:11px;
  margin:10px 0 2px;
  background:#f7eee9;
}
@media(max-width:560px){
  .hero-image{height:310px}
  .card-img,.product-img{height:210px}
}

/* Warmer, slightly darker page background so the real product photos stand out */
:root{
  --page-bg:#f3e6df;
  --page-bg-deep:#ead9d1;
}
body{background:var(--page-bg)}
.hero{background:linear-gradient(120deg,#f8f0ec 0%,var(--page-bg) 58%,var(--page-bg-deep) 100%)}
.builder-section{background:linear-gradient(var(--page-bg),#efe0d9)}
.reviews{background:linear-gradient(var(--page-bg),#ead7cf)}
.category-card,.product-card,blockquote,.order-form,.badge-preview-card{box-shadow:0 20px 60px rgba(50,35,35,.16)}

/* Deeper warm background — stronger contrast behind the white product cards */
:root{
  --page-bg:#e3cec4;
  --page-bg-deep:#d2b6aa;
}
body{background:var(--page-bg)}
.hero{background:linear-gradient(120deg,#f0e3dc 0%,var(--page-bg) 56%,var(--page-bg-deep) 100%)}
.builder-section{background:linear-gradient(var(--page-bg),#d9c1b7)}
.reviews{background:linear-gradient(var(--page-bg),#d4b9ae)}
.section.products{background:rgba(255,255,255,.08)}

/* Category cards now contain the full product details. */
.category-card{display:flex;flex-direction:column}
.category-card .product-photo-viewer{width:100%}
.category-card .category-price{color:var(--pink-dark);font-size:17px;font-weight:800;margin:4px 0 18px}
.category-card .category-create{width:100%;margin:auto 0 0;padding:13px 16px;color:#fff}

/* Customer review section */
.review-intro{max-width:650px;margin:-18px auto 34px;color:var(--muted);line-height:1.7}
.review-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:28px;align-items:start;text-align:left}
.review-list-panel{min-width:0}
.review-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px;padding:14px 18px;background:rgba(255,255,255,.72);border:1px solid #ead5ce;border-radius:16px}
.review-summary>strong{font-family:'Playfair Display',serif;font-size:34px;color:var(--pink-dark)}
.review-summary-stars{color:#d8903f;font-size:20px;letter-spacing:.08em}
.review-summary #reviewCount{color:var(--muted);font-weight:700;font-size:13px}
.reviews .review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.review-card{background:#fff;border:1px solid #f0ded8;border-radius:18px;box-shadow:0 14px 40px rgba(50,35,35,.09);padding:20px;min-width:0}
.review-card-stars{color:#d8903f;letter-spacing:.08em;font-size:17px;margin-bottom:10px}
.review-card p{margin:0;color:#554848;line-height:1.65;overflow-wrap:anywhere}
.review-card footer{margin-top:14px;display:flex;justify-content:space-between;gap:12px;align-items:flex-end;color:var(--muted);font-size:12px}
.review-card footer strong{color:#554848;font-size:13px}
.review-card-product{display:inline-block;margin-top:5px;padding:5px 8px;border-radius:999px;background:#fff0ed;color:var(--pink-dark);font-weight:800;font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.review-empty{display:grid;place-items:center;text-align:center;min-height:250px;padding:30px;border:2px dashed #d7b8ad;border-radius:20px;background:rgba(255,255,255,.5);color:var(--muted)}
.review-empty span{font-size:48px;color:var(--pink-dark)}
.review-empty h3{margin:4px 0;text-transform:uppercase;letter-spacing:.05em;color:#554848}
.review-empty p{margin:0}
.review-form{background:#fff;border:1px solid #f0ded8;border-radius:24px;box-shadow:var(--shadow);padding:26px;position:sticky;top:120px}
.review-form h3{font-family:'Playfair Display',serif;font-size:30px;text-transform:uppercase;margin:6px 0 22px}
.review-rating-fieldset{border:0;padding:0;margin:0 0 16px}
.review-rating-fieldset legend{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#554848;margin-bottom:7px}
.star-rating{display:flex;gap:5px}
.star-rating button{background:transparent;color:#cbb5aa;padding:2px;font-size:30px;line-height:1;cursor:pointer;transition:transform .15s ease,color .15s ease}
.star-rating button:hover{transform:scale(1.12)}
.star-rating button.is-selected,.star-rating button.is-preview{color:#d8903f}
.review-form textarea{min-height:115px}
.review-status{min-height:22px;margin:12px 0 0;font-size:13px;font-weight:700;color:var(--pink-dark);line-height:1.5}
.review-status.is-error{color:#a33e3e}
.review-smallprint{margin:8px 0 0;font-size:11px;color:var(--muted);line-height:1.45}
.review-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:900px){.review-layout{grid-template-columns:1fr}.review-form{position:static}.reviews .review-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.reviews .review-grid{grid-template-columns:1fr}.review-card footer{align-items:flex-start;flex-direction:column}.review-summary{justify-content:center;text-align:center}}

/* Preserve the customer's exact capitalisation in every live product preview. */
.badge-preview strong,
.badge-preview span,
#previewMain,
#previewSecond,
#previewBackText{
  text-transform:none !important;
}


/* Case-sensitive live preview fix v2 */
#previewMain,#previewSecond,#previewBackText,.badge-preview strong,.badge-preview span{
  text-transform:none !important;
  font-variant-caps:normal !important;
  font-feature-settings:"case" 0 !important;
}
.font-case-note{
  display:block;
  margin-top:7px;
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
  text-transform:none;
  letter-spacing:0;
  font-weight:500;
}


/* About Us */
.about-section{background:linear-gradient(135deg,#d9c1b7,var(--page-bg-deep))}
.about-card{max-width:900px;margin:0 auto;padding:42px 46px;background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.7);border-radius:26px;box-shadow:var(--shadow)}
.about-card h2{margin-bottom:22px}
.about-card p:not(.section-kicker){max-width:760px;margin:0 auto 16px;color:#5f5151;font-size:17px;line-height:1.8}
.about-card p:last-child{margin-bottom:0}
@media(max-width:620px){.about-card{padding:32px 22px}.about-card p:not(.section-kicker){font-size:15px;line-height:1.7}}


/* Optional second text colour add-on */
.second-colour-addon{
  margin:4px 0 20px;
  padding:18px;
  border:1px solid #dfbeb3;
  border-radius:16px;
  background:linear-gradient(135deg,#fff8f5,#f6e7e1);
}
.second-colour-addon[hidden]{display:none!important}
.second-colour-toggle{
  display:flex!important;
  align-items:flex-start;
  gap:12px;
  cursor:pointer;
  margin:0;
}
.second-colour-toggle input{
  width:20px;
  height:20px;
  min-width:20px;
  margin:2px 0 0;
  accent-color:var(--pink);
}
.second-colour-toggle span{display:grid;gap:4px}
.second-colour-toggle strong{color:#554848;font-size:14px;line-height:1.35}
.second-colour-toggle small{color:var(--muted);font-size:12px;line-height:1.45;text-transform:none;letter-spacing:0;font-weight:500}
.second-colour-select{display:block;margin-top:15px}
.second-colour-select[hidden]{display:none!important}
.second-colour-select select:disabled{opacity:.55;cursor:not-allowed}
.addon-price-line{color:var(--pink-dark)}
.addon-price-line strong{color:var(--pink-dark)}
#previewSecondColourRow{padding:8px 10px;border-radius:9px;background:#fff0ed}
#previewSecondColourRow[hidden]{display:none!important}


/* Secure checkout */
.shipping-summary{font-size:13px;line-height:1.5;color:var(--muted);margin:10px 0 4px}
.checkout-status{min-height:20px;margin:10px 0 0;color:#a13d51;font-size:13px;font-weight:700;line-height:1.4}
#checkoutButton:disabled,#emailCart:disabled{opacity:.55;cursor:not-allowed;transform:none}
.success-page{min-height:100vh;display:grid;place-items:center;padding:32px;background:linear-gradient(135deg,#f7d9dc,#ead7ca)}
.success-card{width:min(620px,100%);background:#fff;border:1px solid #efd9d2;border-radius:28px;box-shadow:0 26px 80px rgba(50,35,35,.18);padding:42px;text-align:center}
.success-mark{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:#f8e6e8;color:#a13d51;font-size:38px;font-weight:900}
.success-card h1{font-family:'Playfair Display',serif;font-size:40px;margin:0 0 12px;color:var(--text)}
.success-card p{color:var(--muted);line-height:1.65}
.success-order{background:#fff8f4;border:1px solid #efd9d2;border-radius:18px;padding:18px;margin:22px 0;text-align:left}
.success-order p{display:flex;justify-content:space-between;gap:20px;margin:8px 0}
.success-order strong{color:var(--text)}
.success-items{margin:12px 0 0;padding:12px 0 0;border-top:1px solid #efd9d2}
.success-items div{display:flex;justify-content:space-between;gap:16px;margin:7px 0;color:var(--muted)}
.success-error{color:#a13d51;font-weight:700}
@media(max-width:560px){.success-card{padding:30px 22px}.success-card h1{font-size:32px}.success-order p{display:block}.success-order p strong{display:block;margin-bottom:2px}}


/* Worldwide weight-based shipping */
.shipping-selector{margin-top:14px;padding:14px;border:1px solid #efd9d2;border-radius:14px;background:#fff8f4}
.shipping-selector label{margin:0 0 8px;font-size:12px}
.shipping-selector select{margin:0;background:#fff}
.shipping-weight{margin:8px 0 0;color:var(--muted);font-size:12px;font-weight:700}
