@layer base,layout,components,states,utilities; @layer base{@supports (-webkit-touch-callout:none){.gr-product input,.gr-product select,.gr-product textarea{font-size:var(--gr-text-xs)}}.gr-product__submit,.gr-sticky-atc__btn{background:linear-gradient(135deg,var(--gr-color-primary-dark) 0,var(--gr-color-primary-darkest) 100%);color:#fff;border:none;font-family:var(--gr-font-heading);font-weight:var(--gr-font-weight-bold);cursor:pointer;transition:all .2s ease}.gr-product__price,.gr-product__step-title,.gr-product__summary-total,.gr-product__title{font-family:var(--gr-font-heading)}.gr-product__step-number,.gr-product__upsell-tile-check{display:flex;align-items:center;justify-content:center}.gr-product__engraving-text input,.gr-product__field input,.gr-product__qty-input{font-size:var(--gr-text-xs);border-radius:8px}.gr-product__upsell-tile input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}@layer layout{.gr-product{display:grid;grid-template-columns:1fr;gap:2rem;max-width:1400px;margin:0 auto;padding:1rem}@media (min-width:990px){.gr-product{grid-template-columns:1fr 1fr;gap:3rem;padding:2rem}}.gr-product__media{position:relative}@media (min-width:990px){.gr-product__media-sticky{position:sticky;top:2rem}}.gr-product__info{padding-bottom:100px}.gr-product__details-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:1rem}@media (min-width:600px){.gr-product__details-grid{grid-template-columns:1fr 1fr}}.gr-product__upsells-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}@media (min-width:600px){.gr-product__upsells-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:800px){.gr-product__upsells-grid{grid-template-columns:repeat(4,1fr)}}.gr-sticky-atc{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--gr-color-border);box-shadow:0 -4px 20px rgba(0,0,0,.1);padding:.75rem 1rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px));z-index:999;transform:translateY(100%);transition:transform .3s ease}.gr-sticky-atc__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:1400px;margin:0 auto}.gr-sticky-atc__product{display:flex;align-items:center;gap:.75rem}@media (max-width:600px){.gr-sticky-atc{padding:.625rem .75rem;padding-bottom:calc(.625rem + env(safe-area-inset-bottom,0px))}.gr-sticky-atc__inner{gap:.75rem}}@media (max-width:420px){.gr-sticky-atc__product{display:none}.gr-sticky-atc__btn{flex:1;text-align:center}}}@layer components{.gr-product__image-wrapper{position:relative;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,var(--gr-color-primary-lightest) 0,var(--gr-color-primary-lighter) 100%)}.gr-product__image{width:100%;height:auto;display:block}.gr-product__badge{position:absolute;top:1rem;left:1rem;background:var(--gr-color-error);color:#fff;padding:.5rem 1rem;border-radius:50px;font-size:var(--gr-text-caption);font-weight:var(--gr-font-weight-bold);text-transform:uppercase}.gr-product__trust-strip{display:flex;justify-content:center;gap:1.5rem;padding:1rem;margin-top:1rem;background:var(--gr-color-bg-off-white);border-radius:12px}.gr-product__trust-item{font-size:var(--gr-text-caption);color:var(--gr-color-text-body);display:flex;align-items:center;gap:.25rem}.gr-product__rating{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.gr-product__stars{color:var(--gr-color-stars);font-size:var(--gr-text-body)}.gr-product__rating-value{font-weight:var(--gr-font-weight-bold);color:var(--gr-color-text-heading)}.gr-product__rating-text{color:var(--gr-color-text-muted);font-size:var(--gr-text-body-sm)}.gr-product__title{font-size:var(--gr-text-title);font-weight:var(--gr-font-weight-bold);color:var(--gr-color-text-heading);margin:0 0 .5rem 0;line-height:var(--gr-leading-tight)}@media (min-width:990px){.gr-product__title{font-size:var(--gr-text-subheading)}}.gr-product__price-wrap{margin-bottom:1rem}.gr-product__price{font-size:var(--gr-text-lg);font-weight:var(--gr-font-weight-bold);color:var(--gr-color-primary-dark)}.gr-product__usps{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.gr-product__usp{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--gr-color-primary-lightest);border-radius:8px;font-size:var(--gr-text-body-sm);color:var(--gr-color-primary-darkest)}.gr-product__usp-icon{font-size:var(--gr-text-lg)}.gr-product__step{background:#fff;border:2px solid var(--gr-color-border);border-radius:12px;margin-bottom:1rem;overflow:hidden;transition:border-color .3s ease,box-shadow .3s ease}.gr-product__step-header{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--gr-color-bg-off-white);border-bottom:1px solid var(--gr-color-border)}.gr-product__step-number{width:28px;height:28px;background:var(--gr-color-primary-dark);color:#fff;border-radius:50%;font-size:var(--gr-text-body-sm);font-weight:var(--gr-font-weight-bold)}.gr-product__step-title{font-weight:var(--gr-font-weight-semibold);color:var(--gr-color-text-heading);flex:1}.gr-product__step-badge{padding:.25rem .75rem;border-radius:50px;font-size:var(--gr-text-micro);font-weight:var(--gr-font-weight-bold);text-transform:uppercase;background:var(--gr-color-border);color:var(--gr-color-text-muted)}.gr-product__step-badge--required{background:var(--gr-color-primary-dark);color:#fff}.gr-product__step-content{padding:1rem}.gr-product__file-upload{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.gr-product__file-upload input[type=file]{display:none}.gr-product__file-label{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;border:2px dashed var(--gr-color-border-light);border-radius:8px;cursor:pointer;transition:all .2s ease}.gr-product__file-name{font-size:var(--gr-text-body-sm);color:var(--gr-color-text-muted)}.gr-product__file-info{font-size:var(--gr-text-caption);color:var(--gr-color-text-light);margin-top:.5rem;width:100%}.gr-product__option{margin-bottom:1.25rem}.gr-product__option:last-child{margin-bottom:0}.gr-product__option-label{display:block;font-weight:var(--gr-font-weight-semibold);color:var(--gr-color-text-body);margin-bottom:.75rem;font-size:var(--gr-text-body)}.gr-product__option-values{display:flex;flex-wrap:wrap;gap:.5rem}.gr-product__option-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem 1rem;min-width:80px;background:var(--option-bg,var(--gr-color-bg-off-white));border:2px solid var(--gr-color-border);border-radius:12px;cursor:pointer;transition:all .2s ease;font-family:inherit}.gr-product__option-icon{font-size:var(--gr-text-lg);line-height:1}.gr-product__option-icon img{width:40px;height:40px;object-fit:contain}.gr-product__option-text{font-size:var(--gr-text-body-sm);font-weight:var(--gr-font-weight-semibold);color:var(--gr-color-text-body)}.gr-product__quantity-wrap{display:flex;align-items:center;border:2px solid var(--gr-color-border);border-radius:10px;overflow:hidden;width:fit-content;margin-bottom:1rem}.gr-product__qty-btn{width:48px;height:48px;border:none;background:var(--gr-color-bg-off-white);font-size:var(--gr-text-lg);cursor:pointer;transition:background .2s ease}.gr-product__qty-input{width:80px;height:48px;border:none;text-align:center;font-size:var(--gr-text-md);font-weight:var(--gr-font-weight-semibold);-moz-appearance:textfield}.gr-product__qty-input::-webkit-inner-spin-button,.gr-product__qty-input::-webkit-outer-spin-button{-webkit-appearance:none}.gr-product__qty-presets{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.gr-product__qty-preset{padding:.5rem 1rem;background:var(--gr-color-bg-light);border:1px solid var(--gr-color-border);border-radius:6px;font-size:var(--gr-text-body-sm);font-weight:var(--gr-font-weight-medium);cursor:pointer;transition:all .2s ease}.gr-product__tiers{display:flex;flex-wrap:wrap;gap:.5rem}.gr-product__tier{padding:.5rem .75rem;background:var(--gr-color-bg-off-white);border:1px solid var(--gr-color-border);border-radius:8px;font-size:var(--gr-text-caption);text-align:center;transition:all .2s ease}.gr-product__tier-range{display:block;font-weight:var(--gr-font-weight-semibold);color:var(--gr-color-text-body)}.gr-product__tier-price{color:var(--gr-color-primary-dark);font-weight:var(--gr-font-weight-bold)}.gr-product__upgrades-section{margin-bottom:1.5rem}.gr-product__upgrades-section:last-of-type{margin-bottom:0}.gr-product__section-title{font-size:var(--gr-text-body-sm);font-weight:var(--gr-font-weight-semibold);color:var(--gr-color-text-body);margin:0 0 .75rem 0;text-transform:uppercase;letter-spacing:var(--gr-tracking-wide)}.gr-product__upsell-tile{cursor:pointer;position:relative}.gr-product__upsell-tile-inner{display:flex;flex-direction:column;align-items:center;text-align:center;padding:.75rem .5rem;background:var(--upsell-bg,var(--gr-color-bg-off-white));border:2px solid var(--gr-color-border);border-radius:10px;transition:all .2s ease;position:relative;height:100%}.gr-product__upsell-tile-icon{font-size:var(--gr-text-lg);line-height:1;margin-bottom:.375rem}.gr-product__upsell-tile-icon img{width:40px;height:40px;object-fit:contain}.gr-product__upsell-tile-title{font-size:var(--gr-text-body-sm);font-weight:var(--gr-font-weight-semibold);color:var(--gr-color-text-body);margin-bottom:.25rem;line-height:var(--gr-leading-tight)}.gr-product__upsell-tile-price{font-size:var(--gr-text-caption);color:var(--gr-color-primary-dark);font-weight:var(--gr-font-weight-semibold)}.gr-product__upsell-tile-subtotal{font-size:var(--gr-text-micro);color:var(--gr-color-text-light);margin-top:.25rem}.gr-product__upsell-tile-check{position:absolute;top:.5rem;right:.5rem;width:20px;height:20px;background:var(--gr-color-primary-dark);color:#fff;border-radius:50%;font-size:var(--gr-text-micro);font-weight:var(--gr-font-weight-bold);opacity:0;transition:opacity .2s ease}.gr-product__summary{background:var(--gr-color-bg-off-white);border-radius:12px;padding:1.25rem;margin-bottom:1rem}.gr-product__summary-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:var(--gr-text-body);color:var(--gr-color-text-body);border-bottom:1px solid var(--gr-color-border)}.gr-product__summary-row:last-of-type{border-bottom:none}#gr-summary-mould-row,#gr-summary-upgrades-row{border-bottom:none}.gr-product__summary-row--free{color:var(--gr-color-primary-dark)}.gr-product__summary-row--free s{color:var(--gr-color-text-light)}.gr-product__summary-total{display:flex;justify-content:space-between;padding-top:.75rem;margin-top:.5rem;border-top:2px solid var(--gr-color-border);font-size:var(--gr-text-lg);font-weight:var(--gr-font-weight-bold);color:var(--gr-color-text-heading)}.gr-product__deposit{display:flex;align-items:center;gap:.75rem;background:var(--gr-color-primary-lightest);padding:1rem;border-radius:10px;margin-top:1rem}.gr-product__deposit-icon{font-size:var(--gr-text-lg)}.gr-product__deposit-info strong{display:block;color:var(--gr-color-primary-darkest);font-size:var(--gr-text-body)}.gr-product__deposit-info span{font-size:var(--gr-text-body-sm);color:var(--gr-color-primary-darkest)}.gr-product__included{margin-top:1rem;padding:1rem;background:var(--gr-color-warning-light);border-radius:10px;font-size:var(--gr-text-body-sm);color:var(--gr-color-warning-dark);line-height:var(--gr-leading-normal)}.gr-product__included strong{display:block;margin-bottom:.25rem}.gr-product__submit{width:100%;padding:1.25rem;border-radius:12px;font-size:var(--gr-text-md);display:flex;flex-direction:column;align-items:center;gap:.25rem}.gr-product__submit-price{font-size:var(--gr-text-body-sm);font-weight:var(--gr-font-weight-medium);opacity:.9}.gr-product__returning{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:var(--gr-color-bg-off-white);border:1px dashed var(--gr-color-border-light);border-radius:10px;margin-top:1rem;font-size:var(--gr-text-body-sm);color:var(--gr-color-text-muted);cursor:pointer}.gr-product__returning input{margin-top:.125rem}.gr-product__engraving-text{margin-top:.75rem;padding:1rem;background:var(--gr-color-bg-off-white);border-radius:8px}.gr-product__engraving-text label{display:block;font-weight:var(--gr-font-weight-semibold);color:var(--gr-color-text-body);margin-bottom:.5rem;font-size:var(--gr-text-body-sm)}.gr-product__engraving-text input{width:100%;padding:.75rem;border:1px solid var(--gr-color-border-light)}.gr-product__engraving-text small{display:block;margin-top:.25rem;font-size:var(--gr-text-caption);color:var(--gr-color-text-light)}.gr-product__field label{display:block;font-weight:var(--gr-font-weight-semibold);color:var(--gr-color-text-body);margin-bottom:.5rem;font-size:var(--gr-text-body-sm)}.gr-product__field input{width:100%;padding:.75rem 1rem;border:2px solid var(--gr-color-border);transition:border-color .2s ease}.gr-product__field small{display:block;margin-top:.25rem;font-size:var(--gr-text-caption);color:var(--gr-color-text-light)}.gr-product__field-error{display:block;margin-top:.25rem;font-size:var(--gr-text-caption);color:var(--gr-color-error);font-weight:var(--gr-font-weight-medium)}.gr-product__optional{font-weight:var(--gr-font-weight-normal);color:var(--gr-color-text-light)}.gr-product__returning-feedback{display:block;margin-top:.5rem;padding:.5rem .75rem;background:var(--gr-color-primary-lightest);color:var(--gr-color-primary-darkest);font-size:var(--gr-text-body-sm);font-weight:var(--gr-font-weight-semibold);border-radius:6px}.gr-product__error{margin-top:1rem;padding:.75rem 1rem;background:var(--gr-color-error-light);border:1px solid var(--gr-color-error-border);border-radius:8px;color:var(--gr-color-error);font-size:var(--gr-text-body-sm);font-weight:var(--gr-font-weight-medium);display:flex;align-items:center;gap:.5rem}.gr-product__error::before{content:"⚠️"}.gr-sticky-atc__image{width:48px;height:48px;border-radius:8px;object-fit:cover}.gr-sticky-atc__info strong{display:block;font-size:var(--gr-text-body-sm);color:var(--gr-color-text-heading)}.gr-sticky-atc__info span{font-size:var(--gr-text-caption);color:var(--gr-color-primary-dark);font-weight:var(--gr-font-weight-semibold)}.gr-sticky-atc__btn{padding:.875rem 1.5rem;border-radius:10px;font-size:var(--gr-text-body);white-space:nowrap}@media (max-width:600px){.gr-sticky-atc__image{width:40px;height:40px;border-radius:6px}.gr-sticky-atc__info strong{font-size:var(--gr-text-caption);max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gr-sticky-atc__info span{font-size:var(--gr-text-micro)}.gr-sticky-atc__btn{padding:.75rem 1rem;font-size:var(--gr-text-body-sm)}}}@layer states{.gr-product__option-btn:hover,.gr-product__upsell-tile-inner:hover{border-color:var(--gr-color-primary-dark);transform:translateY(-2px)}.gr-product__qty-btn:hover{background:var(--gr-color-border)}.gr-product__file-label:hover{border-color:var(--gr-color-primary-dark);background:var(--gr-color-primary-lightest)}.gr-product__submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px rgba(32,184,69,.3)}.gr-product__option-btn[aria-pressed=true],.gr-product__upsell-tile input:checked+.gr-product__upsell-tile-inner{border-color:var(--gr-color-primary-dark);background:var(--gr-color-primary-lightest);box-shadow:0 0 0 3px rgba(32,184,69,.2)}.gr-product__qty-preset:hover,.gr-product__qty-preset[aria-pressed=true]{background:var(--gr-color-primary-dark);color:#fff;border-color:var(--gr-color-primary-dark)}.gr-product__tier[aria-current=true]{background:var(--gr-color-primary-lightest);border-color:var(--gr-color-primary-dark)}.gr-product__upsell-tile input:checked+.gr-product__upsell-tile-inner .gr-product__upsell-tile-check{opacity:1}.gr-sticky-atc[aria-hidden=false]{transform:translateY(0)}.gr-product__field input:focus{outline:0;border-color:var(--gr-color-primary-dark)}.gr-product__step.has-error{border-color:var(--gr-color-error);box-shadow:0 0 0 3px rgba(239,68,68,.15)}.gr-product__step.has-error .gr-product__step-number{background:var(--gr-color-error)}.gr-product__field input.has-error{border-color:var(--gr-color-error)}.gr-product__engraving-text input.has-error{border-color:var(--gr-color-error)}.gr-product__qty-input.has-error{border-color:var(--gr-color-error)}.gr-product__quantity-wrap+.gr-product__field-error{display:block;margin-top:.5rem;text-align:center}.gr-product__submit:disabled{opacity:.7;cursor:not-allowed}.gr-product__file-name.has-file{color:var(--gr-color-primary-dark);font-weight:var(--gr-font-weight-semibold)}}
