/* Scoped to the product page and its existing personalization modal. */
.gp-product-intro{color:#58636d;font-size:1.05rem;margin:0 0 1.25rem;line-height:1.6}
.gp-purchase-guide{background:#f4f8fc;border:1px solid #d8e6f2;border-radius:12px;padding:18px 20px;margin:16px 0}
.gp-purchase-guide h2{font-size:1rem;color:#146aab;margin:0 0 12px;font-weight:600}
.gp-purchase-guide ol{list-style:none;padding:0;margin:0;counter-reset:gpsteps;display:grid;gap:10px}
.gp-purchase-guide li{counter-increment:gpsteps;display:flex;align-items:center;gap:10px;font-size:.94rem;line-height:1.5;color:#263441}
.gp-purchase-guide li:before{content:counter(gpsteps);flex:0 0 26px;display:grid;place-items:center;height:26px;border-radius:50%;background:#146aab;color:white;font-size:.82rem;font-weight:600}
.gp-product-details-link{display:inline-block;color:#146aab;text-underline-offset:4px;margin:0 0 16px;font-size:.92rem}
.product-single__addtocart .btn[data-bs-target="#Modalpersonalizar"]{width:100%;min-height:56px;border-radius:8px;white-space:normal;line-height:1.4}
#Modalpersonalizar .modal-content{border-radius:14px;overflow:hidden}
#Modalpersonalizar .modal-header{padding:20px 24px;border-bottom:1px solid #e0e8ef}
#Modalpersonalizar .modal-title{font-size:1.25rem;line-height:1.4;color:#146aab}
#Modalpersonalizar .modal-body{padding:24px}
#Modalpersonalizar .popup-option h3{font-size:1.15rem;line-height:1.5;margin-bottom:8px}
#Modalpersonalizar .popup-option p{color:#58636d;line-height:1.65}
#Modalpersonalizar .btn-addtocart{width:100%;white-space:normal;min-height:52px;border-radius:8px;line-height:1.4}
.gp-product-details-link:focus-visible,#Modalpersonalizar .btn:focus-visible,.product-single__addtocart .btn:focus-visible{outline:3px solid #146aab;outline-offset:4px}
#gp-product-details{scroll-margin-top:100px}
@media(max-width:575px){.gp-purchase-guide{padding:16px}.product-single__name{font-size:1.65rem;line-height:1.3}#Modalpersonalizar .modal-body{padding:18px}#Modalpersonalizar .modal-header{padding:18px}}

.gp-product-summary{color:#58636d;line-height:1.6;margin:0 0 18px}
.gp-options{margin:0 0 20px}.gp-options h2{font-size:1rem;font-weight:600;margin:0 0 12px;color:#263441}
.gp-options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.gp-option{display:flex;align-items:center;gap:12px;padding:12px;border:2px solid #e3e7eb;border-radius:10px;color:#263441;text-decoration:none;background:#fff;min-height:118px}
.gp-option:hover{border-color:#146aab;color:#146aab}.gp-option.is-selected{border-color:#146aab;background:#f4f8fc}
.gp-option img{width:64px;height:80px;object-fit:cover;border-radius:5px;flex-shrink:0}.gp-option-body{display:flex;flex-direction:column;gap:5px;min-width:0}
.gp-option strong{font-size:.92rem;line-height:1.4;overflow-wrap:anywhere}.gp-option-price{font-size:1rem;font-weight:600;color:#146aab}.gp-option-selected{font-size:.75rem;color:#146aab}
.gp-option:focus-visible{outline:3px solid #146aab;outline-offset:3px}
@media(max-width:420px){.gp-options-grid{grid-template-columns:1fr}.gp-option{min-height:100px}}

/* Product description: same palette and rounded panels as the options. */
#gp-product-details{margin-top:12px}
#gp-product-details .product-single__description{padding:28px 32px;border:1px solid #d8e6f2;border-radius:14px;background:#fff;color:#344454;line-height:1.8;width:100%;max-width:none;margin:0;box-sizing:border-box}
#gp-product-details .product-single__description>.block-title{color:#146aab;font-size:1.35rem;font-weight:600;line-height:1.45;margin:0 0 22px!important;padding-bottom:18px;border-bottom:1px solid #d8e6f2}
#gp-product-details .product-single__description p{margin:0 0 16px;overflow-wrap:anywhere}
#gp-product-details .product-single__description p>b:only-child,#gp-product-details .product-single__description p>strong:only-child{display:block;color:#146aab;font-size:1rem;margin-top:20px}
#gp-product-details .product-single__description ul,#gp-product-details .product-single__description ol{padding:18px 22px 18px 40px;border:1px solid #e1ebf3;background:#f4f8fc;border-radius:10px;margin:0 0 22px}
#gp-product-details .product-single__description li{padding-left:3px;margin-bottom:9px;line-height:1.75}
#gp-product-details .product-single__description li:last-child{margin-bottom:0}
#gp-product-details .product-single__description li::marker{color:#146aab}
#gp-product-details .product-single__description a{color:#146aab;text-underline-offset:3px}
#gp-product-details .product-single__description h2,#gp-product-details .product-single__description h3,#gp-product-details .product-single__description h4{color:#146aab;line-height:1.45}
#gp-product-details .product-single__description img{max-width:100%;height:auto}
#gp-product-details .product-single__description table{display:block;max-width:100%;overflow-x:auto}
@media(max-width:575px){#gp-product-details .product-single__description{padding:20px 16px;border-radius:10px;font-size:.94rem}#gp-product-details .product-single__description>.block-title{font-size:1.15rem}#gp-product-details .product-single__description ul,#gp-product-details .product-single__description ol{padding:15px 14px 15px 30px}}

/* Description section heading: shared visual language with purchase cards. */
.product-single .gp-description-heading {
  display: block;
  width: 100%;
  margin: 2.5rem 0 1.25rem;
  padding: 1rem 1.25rem;
  color: #146bad;
  background: #f3f8fd;
  border: 1px solid #d1e3f5;
  border-radius: 14px;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.4;
  text-transform: none;
  letter-spacing: normal;
}
.product-single .gp-description-heading::before,
.product-single .gp-description-heading::after {
  display: none;
  content: none;
}
@media (max-width: 575.98px) {
  .product-single .gp-description-heading {
    margin-top: 1.75rem;
    padding: .875rem 1rem;
  }
}

/* Align the description panel with its full-width section heading. */
.product-single #gp-product-details{width:100%;max-width:none;padding-left:0;padding-right:0;box-sizing:border-box}

/* Full-width panel and expandable summary. */
.product-single #gp-product-details { flex: 0 0 100%; width: 100%; max-width: none; padding: 0; }
.product-single #gp-product-details .product-single__description { width: 100%; max-width: none; margin: 0; box-sizing: border-box; }
.gp-summary-details { margin-bottom: 18px; color: #58636d; line-height: 1.6; }
.gp-summary-details summary { cursor: pointer; list-style: none; }
.gp-summary-details summary::-webkit-details-marker { display: none; }
.gp-summary-preview { display: block; margin-bottom: 8px; }
.gp-summary-more, .gp-summary-less { color: #146aab; text-decoration: underline; text-underline-offset: 3px; font-weight: 500; }
.gp-summary-less { display: none; }
.gp-summary-details[open] .gp-summary-preview, .gp-summary-details[open] .gp-summary-more { display: none; }
.gp-summary-details[open] .gp-summary-less { display: inline; }
.gp-summary-details[open] .gp-product-summary { margin-top: 8px; }
.gp-summary-details summary:focus-visible { outline: 3px solid #146aab; outline-offset: 4px; border-radius: 4px; }
