/* Cookvera product page v2 — reference-inspired, original Cookvera styling */
.cvp-product-page{
  background:#f6f7f7;
  padding:24px 0 88px;
}
.cvp-product-shell{max-width:1380px;}
.cvp-breadcrumb{margin-bottom:18px;color:#7b8791;font-size:12px;}
.cvp-product-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(440px,.95fr);
  gap:44px;
  align-items:start;
}
.cvp-gallery-column{position:sticky;top:104px;}
.cvp-gallery-main{
  position:relative;
  min-height:720px;
  background:#fff;
  border:1px solid #e4e9ed;
  border-radius:20px;
  display:grid;
  place-items:center;
  padding:28px;
  overflow:hidden;
}
.cvp-main-image{
  width:100%;
  height:100%;
  max-height:680px;
  object-fit:contain;
  display:block;
}
.cvp-zoom-button{
  position:absolute;
  top:18px;
  right:18px;
  width:46px;
  height:46px;
  border:1px solid #dfe7eb;
  border-radius:50%;
  background:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(16,32,35,.08);
}
.cvp-zoom-button svg{
  width:22px;height:22px;fill:none;stroke:#102023;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;
}
.cvp-thumbs{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
.cvp-thumb{
  aspect-ratio:1/1;
  padding:7px;
  border:1px solid #e2e8eb;
  border-radius:14px;
  background:#fff;
  cursor:pointer;
  overflow:hidden;
}
.cvp-thumb img{width:100%;height:100%;object-fit:contain;}
.cvp-thumb.is-active{border-color:#e85d2a;box-shadow:0 0 0 2px rgba(232,93,42,.12);}

.cvp-summary-column{
  background:#fff;
  border:1px solid #e4e9ed;
  border-radius:22px;
  padding:22px;
  box-shadow:0 12px 32px rgba(16,32,35,.04);
}
.cvp-offer-banner{
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px 18px;
  background:linear-gradient(135deg,#fff7f2 0%,#fff 100%);
  border:1px solid #f1d9ca;
  border-radius:16px;
  margin-bottom:22px;
}
.cvp-offer-icon{
  width:40px;height:40px;min-width:40px;border-radius:12px;background:#fff0e8;display:grid;place-items:center;
}
.cvp-offer-icon svg{width:21px;height:21px;fill:none;stroke:#e85d2a;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.cvp-offer-banner strong{display:block;color:#1d2a25;font-size:15px;}
.cvp-offer-banner span{display:block;margin-top:3px;color:#6d7872;font-size:12px;line-height:1.4;}

/* Copyable Cookvera product offer. */
.cvp-product-page .cvp-offer-copy{flex:1;min-width:0}
.cvp-product-page .cvp-offer-subline strong{display:inline;color:inherit;font-size:inherit}
.cvp-product-page .cvp-offer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px}
.cvp-product-page .cvp-coupon-copy{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:7px 13px;border:1px solid #ffad7d;border-radius:9px;background:linear-gradient(145deg,#ff8550,#e85d2a);color:#fff;font-family:inherit;font-size:13px;font-weight:800;line-height:1.3;cursor:pointer;box-shadow:0 3px 0 #bd431b,0 5px 10px rgba(232,93,42,.15);transition:transform .15s ease,box-shadow .15s ease}
.cvp-product-page .cvp-coupon-copy svg{display:block;flex:none}
.cvp-product-page .cvp-coupon-copy:active{transform:translateY(2px);box-shadow:0 1px 0 #bd431b}
.cvp-product-page .cvp-coupon-copy:focus-visible{outline:3px solid #e85d2a;outline-offset:4px}
.cvp-product-page #cvp-coupon-status{display:inline;margin:0;color:#bd431b;font-size:12px;font-weight:700}
@media(prefers-reduced-motion:reduce){.cvp-product-page .cvp-coupon-copy{transition:none}}

.cvp-title-block h1{
  margin:8px 0 0;
  font-family:"Bricolage Grotesque",sans-serif;
  font-size:clamp(1.85rem,2.55vw,2.65rem);
  line-height:1.03;
  letter-spacing:-.035em;
  color:#102023;
}
.cvp-price{
  margin-top:10px;
  font-family:"Bricolage Grotesque",sans-serif;
  font-size:30px;
  font-weight:800;
  color:#102023;
}
.cvp-short-description{
  margin-top:18px;
  color:#59707f;
  font-size:16px;
  line-height:1.7;
}
.cvp-short-description p{margin:0;}
.cvp-low-stock{
  display:inline-flex;
  margin-top:14px;
  padding:8px 11px;
  border-radius:999px;
  background:#fff0e8;
  color:#b84421;
  font-size:12px;
  font-weight:800;
}

.cvp-purchase-card{margin-top:24px;}
.cvp-purchase-card form.cart{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0;}
/* Cookvera branded product options. Native WooCommerce controls retain their behaviour. */
.cvp-product-page .cvp-purchase-card .variations {
  display:block;width:100%;margin:0 0 16px!important;border:0!important;border-collapse:separate;
}
.cvp-product-page .cvp-purchase-card .variations tbody {
  display:grid;gap:12px;width:100%;
}
.cvp-product-page .cvp-purchase-card .variations tr {
  position:relative;display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px;
  align-items:center;margin:0;min-height:78px;padding:14px;
  border:1px solid #efddc9;border-radius:16px;background:linear-gradient(145deg,#fffdf8,#fff3e5);
  box-shadow:0 3px 0 #ead9c4,0 9px 18px rgba(74,45,21,.055),inset 0 1px 0 #fff;
  transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease;
}
.cvp-product-page .cvp-purchase-card .variations th,
.cvp-product-page .cvp-purchase-card .variations td {
  display:block;min-width:0;padding:0!important;border:0!important;
  background:transparent!important;text-align:left;
}
.cvp-product-page .cvp-purchase-card .variations label {
  display:flex;align-items:center;gap:10px;min-width:0;margin:0;
  color:#1d2a25;font-family:"Manrope",system-ui,sans-serif;font-size:13px;
  font-weight:800;line-height:1.4;letter-spacing:-.1px;
}
.cvp-product-page .cvp-purchase-card .variations label::before {
  content:"";display:block;flex:none;width:32px;height:32px;border-radius:11px;
  --cv-option-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%207h4m4%200h8M4%2017h9m4%200h3%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%227%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%2215%22%20cy%3D%2217%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E");
  background-image:var(--cv-option-icon),radial-gradient(circle at 28% 20%,#ffad7d,#ff8550 30%,#e85d2a 68%,#bd431b);
  background-size:20px 20px,100% 100%;background-position:center;background-repeat:no-repeat;
  box-shadow:0 5px 9px rgba(204,72,25,.16),0 2px 0 #b9431e,inset 0 2px 3px rgba(255,255,255,.5);
  transform:perspective(160px) rotateX(8deg) rotateY(-7deg);
}
.cvp-product-page .cvp-purchase-card .variations label:is([for="color"],[for="colour"],[for="pa_color"],[for="pa_colour"],[for="size"],[for="pa_size"],[for="capacity"],[for="pa_capacity"])::before {
  content:none;display:none;
}
.cvp-product-page .cvp-purchase-card form.cart.variations_form .variations select {
  --cv-option-surface:linear-gradient(145deg,#fff,#fffbf4);
  display:block;width:100%;min-width:0;max-width:100%;min-height:48px;
  margin:0;padding:11px 38px 11px 13px;border:1px solid #e7d2ba;border-radius:12px;
  -webkit-appearance:none;appearance:none;color:#786759;
  font-family:"Manrope",system-ui,sans-serif;font-size:13px;font-weight:600;line-height:1.4;
  background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20stroke%3D%22%23bd431b%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m4%206%204%204%204-4%22%2F%3E%3C%2Fsvg%3E"),var(--cv-option-surface);
  background-size:14px 14px,100% 100%;background-position:right 13px center,center;
  background-repeat:no-repeat;cursor:pointer;
  box-shadow:0 2px 0 #ead9c4,inset 0 1px 0 #fff;
  transition:border-color .2s ease,box-shadow .2s ease,color .2s ease;
}
.cvp-product-page .cvp-purchase-card form.cart.variations_form .variations select:has(option:checked:not([value=""])) {
  --cv-option-surface:linear-gradient(145deg,#fff9f0,#ffedda);
  border-color:#e85d2a;color:#1d2a25;font-weight:800;
  box-shadow:0 2px 0 #d98761,inset 0 1px 0 #fff;
}
.cvp-product-page .cvp-purchase-card form.cart.variations_form .variations select:focus {
  outline:2px solid #e85d2a;outline-offset:3px;border-color:#e85d2a;
  box-shadow:0 2px 0 #d98761,0 0 0 5px rgba(232,93,42,.08),inset 0 1px 0 #fff;
}
.cvp-product-page .cvp-purchase-card .variations tr:focus-within,
.cvp-product-page .cvp-purchase-card .variations tr:has(select option:checked:not([value=""])) {
  border-color:#edb78f;
}
.cvp-product-page .cvp-purchase-card .variations select option {
  color:#1d2a25;background:#fff;font-weight:600;
}
.cvp-product-page .cvp-purchase-card .reset_variations {
  display:block;width:max-content;max-width:100%;margin:10px 0 0 auto;padding:0;
  color:#b9431e;font-size:11px;font-weight:700;text-decoration:underline;text-underline-offset:3px;
}
.cvp-product-page .cvp-purchase-card .reset_variations[style*="visibility: hidden"] {
  display:none;
}
@media(hover:hover) and (pointer:fine) {
  .cvp-product-page .cvp-purchase-card .variations tr:hover {
    border-color:#edb78f;transform:translateY(-2px);
    box-shadow:0 4px 0 #ead9c4,0 12px 20px rgba(74,45,21,.08),inset 0 1px 0 #fff;
  }
}
@media(max-width:680px) {
  .cvp-product-page .cvp-purchase-card .variations tr {grid-template-columns:1fr;gap:12px;padding:15px}
  .cvp-product-page .cvp-purchase-card .variations label {gap:10px;font-size:13px}
  .cvp-product-page .cvp-purchase-card form.cart.variations_form .variations select {font-size:14px;min-height:50px}
}
@media(prefers-reduced-motion:reduce) {
  .cvp-product-page .cvp-purchase-card .variations tr,
  .cvp-product-page .cvp-purchase-card form.cart.variations_form .variations select {transition:none}
  .cvp-product-page .cvp-purchase-card .variations tr:hover {transform:none}
}
.cvp-product-page .cvp-purchase-card .stock.in-stock{font-weight:800;color:#e85d2a;}
.cvp-purchase-card .single_variation_wrap{width:100%;}
.cvp-purchase-card .woocommerce-variation-price{margin:6px 0 10px;font-weight:800;}
.cvp-purchase-card .woocommerce-variation-add-to-cart{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.cvp-purchase-card .quantity .qty{
  width:72px;
  min-height:52px;
  border:1px solid #9caab4;
  background:#fff;
  border-radius:0;
  text-align:center;
}
.cvp-purchase-card button.single_add_to_cart_button{
  min-height:52px;
  padding:0 26px!important;
  border:0!important;
  border-radius:999px!important;
  background:#1d2a25!important;
  color:#fff!important;
  font-weight:800!important;
  opacity:1!important;
}
.cvp-purchase-card button.single_add_to_cart_button.disabled{
  background:#a7b0b7!important;
}

/* Review platform logos below the product assurance cards. */
.cvp-product-page .cvp-review-platforms{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px;min-width:0;
  margin-top:18px;padding:15px 16px;border:1px solid #efddc9;border-radius:16px;
  background:linear-gradient(145deg,#fffdf8,#fff1e2);
  box-shadow:0 3px 0 #ead9c4,0 8px 16px rgba(74,45,21,.06),inset 0 1px 0 #fff;
}
.cvp-product-page .cvp-review-platform{
  display:flex;align-items:center;gap:8px;min-width:0;color:#1d2a25;
  font-family:"Manrope",system-ui,sans-serif;font-size:13px;font-weight:800;line-height:1.3;white-space:nowrap;
}
.cvp-product-page .cvp-review-platform--trustpilot{flex:none}
.cvp-product-page .cvp-review-stars{display:flex;flex:none;align-items:center;gap:3px}
.cvp-product-page .cvp-review-stars__tile{
  display:grid;place-items:center;width:24px;height:24px;border-radius:4px;
  color:#fff;background:#00b67a;box-shadow:0 2px 4px rgba(0,182,122,.12);
}
.cvp-product-page .cvp-review-stars__tile svg{display:block;width:19px;height:19px}
.cvp-product-page .cvp-review-platform--trustpilot img{
  display:block;width:128px;height:auto;max-height:35px;object-fit:contain;
}
.cvp-product-page .cvp-review-platform--google img{
  display:block;flex:none;width:32px;height:32px;object-fit:contain;
}
.cvp-product-page .cvp-review-platforms__dot{
  color:#e85d2a;font-size:22px;font-weight:800;line-height:1;
}
@media(max-width:680px){
  .cvp-product-page .cvp-review-platforms{gap:10px;padding:13px 12px}
  .cvp-product-page .cvp-review-platform{gap:6px;font-size:12px}
  .cvp-product-page .cvp-review-platform--trustpilot img{width:110px}
  .cvp-product-page .cvp-review-platform--google img{width:30px;height:30px}
}
@media(max-width:520px){
  .cvp-product-page .cvp-review-platforms__dot{display:none}
  .cvp-product-page .cvp-review-platform--google{flex-basis:100%;justify-content:center}
}
@media(max-width:360px){
  .cvp-product-page .cvp-review-platforms{gap:8px}
  .cvp-product-page .cvp-review-platform{font-size:11px}
  .cvp-product-page .cvp-review-platform--trustpilot img{width:96px}
  .cvp-product-page .cvp-review-platform--google img{width:26px;height:26px}
}

.cvp-payment-card{
  margin-top:20px;
  padding:18px;
  border:1px solid #dfeaf1;
  border-radius:16px;
  background:#f9fcfe;
  text-align:center;
}
.cvp-payment-title{font-size:14px;font-weight:800;color:#31495a;}
.cvp-payment-copy{margin-top:5px;font-size:12px;color:#7a8790;}
/* Stripe + PayPal payment marks */
.cvp-payment-logos{
  margin-top:16px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.cvp-pay-logo{
  min-width:118px;
  min-height:42px;
  padding:8px 14px;
  border:1px solid #dfe7ec;
  border-radius:10px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  box-shadow:0 4px 12px rgba(16,32,35,.04);
}
.cvp-stripe-word{
  font-family:Arial,Helvetica,sans-serif;
  font-size:24px;
  font-weight:800;
  letter-spacing:-1.5px;
  color:#635bff;
}
.cvp-paypal-mark{
  position:relative;
  width:24px;
  height:26px;
  display:inline-block;
  font-family:Arial,Helvetica,sans-serif;
  font-size:22px;
  font-weight:800;
  line-height:1;
}
.cvp-paypal-mark b{
  position:absolute;
  left:0;
  top:0;
  color:#003087;
}
.cvp-paypal-mark i{
  position:absolute;
  left:7px;
  top:2px;
  color:#009cde;
  font-style:normal;
}
.cvp-paypal-word{
  font-family:Arial,Helvetica,sans-serif;
  font-size:18px;
  font-weight:800;
  letter-spacing:-.4px;
}
.cvp-paypal-word b{color:#003087;}
.cvp-paypal-word i{color:#009cde;font-style:normal;}

.cvp-payment-badges{margin-top:14px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;}
.cvp-payment-badges span{
  padding:9px 11px;
  background:#fff;
  border:1px solid #dfe7ec;
  border-radius:8px;
  color:#324b5b;
  font-size:11px;
  font-weight:700;
}

.cvp-assurance-grid{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.cvp-assurance-item{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:15px;
  background:#f9fbfc;
  border:1px solid #e2eaee;
  border-radius:14px;
}
.cvp-assurance-icon{
  width:38px;height:38px;min-width:38px;border-radius:50%;background:#eaf7fc;display:grid;place-items:center;
}
.cvp-assurance-icon svg{
  width:19px;height:19px;fill:none;stroke:#1d2a25;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}
.cvp-assurance-item strong{display:block;color:#102023;font-size:13px;line-height:1.25;}
.cvp-assurance-item span{display:block;margin-top:3px;color:#75828b;font-size:11px;line-height:1.35;}

.cvp-details-section{
  margin-top:42px;
  padding:38px;
  background:#fff;
  border:1px solid #e3e9ec;
  border-radius:20px;
}
.cvp-details-section h2{
  margin:8px 0 20px;
  font-family:"Bricolage Grotesque",sans-serif;
  font-size:clamp(2.1rem,4vw,3.7rem);
  line-height:1;
  color:#102023;
}
.cvp-description{color:#53616b;line-height:1.75;}
.cvp-description h3{color:#102023;margin-top:28px;font-family:"Bricolage Grotesque",sans-serif;}

@media(max-width:1100px){
  .cvp-product-grid{grid-template-columns:1fr;gap:24px;}
  .cvp-gallery-column{position:static;}
  .cvp-gallery-main{min-height:560px;}
  .cvp-summary-column{padding:20px;}
}
@media(max-width:680px){
  .cvp-product-page{padding-top:14px;}
  .cvp-product-shell{width:min(100% - 22px,1380px);}
  .cvp-gallery-main{min-height:390px;padding:16px;border-radius:16px;}
  .cvp-thumbs{grid-template-columns:repeat(4,1fr);}
  .cvp-summary-column{padding:16px;border-radius:16px;}
  .cvp-title-block h1{font-size:1.7rem;}
  .cvp-price{font-size:25px;}
  .cvp-short-description{font-size:14px;}
  .cvp-purchase-card .variations tr{grid-template-columns:1fr;gap:6px;}
  .cvp-assurance-grid{grid-template-columns:1fr;}
  .cvp-details-section{padding:24px 18px;}
}
