.gratia-store .gr-header { position:sticky; top:0; z-index:30; background:#f8f7f3; }
.admin-bar .gr-header { top:32px; }
.gratia-store .gr-headrow { gap:clamp(10px,2vw,25px); }
.gratia-store .gr-brand { letter-spacing:.04em; }
.gratia-store .gr-brand img { width:44px; height:44px; }
.gratia-store .gr-search input { border:0; background:#eeede8; border-radius:24px; }
.gratia-store .gr-action { border-radius:24px; }
.gratia-store .gr-wa { background:#efeee9; }
.gratia-store .gr-bag { background:#102219; color:white; }
.gr-header-location { font-size:13px; white-space:nowrap; }
.gratia-store .gr-nav { justify-content:flex-start; }
.gr-person-icon,.gr-bag-icon { display:inline-block; position:relative; width:14px; height:10px; border:1px solid currentColor; border-radius:3px; }
.gr-person-icon { height:6px; margin-top:7px; border-radius:8px 8px 2px 2px; }
.gr-person-icon::before,.gr-bag-icon::before { content:""; position:absolute; left:50%; transform:translateX(-50%); top:-8px; width:6px; height:6px; border:1px solid currentColor; border-radius:50%; }
.gr-bag-icon::before { top:-5px; border-radius:4px; }
.gratia-store .gr-search-toggle,.gratia-store .gr-mobile-account { display:none; }
.gr-hamburger-icon { width:18px; height:2px; background:currentColor; border-radius:2px; box-shadow:0 -5px currentColor,0 5px currentColor; }
.gr-magnifier-icon { position:relative; display:block; width:13px; height:13px; margin:0 3px 3px 0; border:2px solid currentColor; border-radius:50%; }
.gr-magnifier-icon::after { content:""; position:absolute; width:7px; height:2px; background:currentColor; transform:rotate(45deg); left:8px; top:9px; border-radius:2px; }
.gr-reference-hero { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(20px,4vw,54px); margin-block:44px; }
.gr-reference-intro h1 { color:#102219; font-size:clamp(2.5rem,5vw,4.4rem); line-height:1.04; margin:12px 0; }
.gr-reference-intro p { max-width:48ch; }
.gr-reference-kicker { color:#6a5019; font-size:.75rem; font-weight:bold; text-transform:uppercase; letter-spacing:.08em; }
.gr-reference-tagline { color:#73551d; font:italic clamp(1.3rem,2.4vw,2rem) Georgia,serif; }
.gr-reference-collage { display:grid; grid-template-columns:1.38fr 1fr; grid-template-rows:repeat(2,minmax(0,1fr)); gap:12px; padding:12px; background:#efeee9; border-radius:16px; }
.gr-reference-collage a { display:flex; flex-direction:column; background:#f9f8f4; border-radius:10px; overflow:hidden; text-decoration:none; }
.gr-reference-collage a:first-child { grid-row:span 2; }
.gr-reference-collage img { width:100%; aspect-ratio:1.3; flex:1; min-height:0; object-fit:cover; }
.gr-reference-collage a:first-child img { aspect-ratio:.76; }
.gr-reference-collage span { padding:8px 10px; font-size:.85rem; }
.gr-reference-tiles { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.gr-reference-tiles .gr-collection { display:block; }
.gr-reference-tiles .gr-collection img { width:100%; height:auto; aspect-ratio:1.45; object-fit:cover; }
.gr-reference-tiles .gr-collection h3 { font-size:clamp(1.15rem,2vw,1.5rem); }
.gr-reference-embroidery > header { background:#102219; color:#fff; padding:clamp(20px,4vw,48px); border-radius:16px; }
.gr-reference-embroidery > header h2 { color:inherit; margin:0; font-size:clamp(2rem,4.6vw,4rem); line-height:1.05; }
.gr-reference-embroidery > header .gr-reference-kicker { color:#f2d8a2; }
.gr-embroidery-layout { margin-top:24px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(16px,3vw,42px); }
.gr-page .entry-content:has(.gr-embroidery-layout) { max-width:none; }
.gr-embroidery-layout .gr-quote-aside { order:-1; }
.gr-embroidery-layout .gr-form,.gr-embroidery-layout .gr-quote-preview { background:#f8f7f3; border:1px solid #e7e5df; border-radius:16px; padding:clamp(16px,2vw,30px); }
.gr-embroidery-layout .gr-shirt { width:100%; max-width:none; height:auto; aspect-ratio:1.7; clip-path:none; border-radius:10px; background-image:url('assets/ref-prenda.jpg') !important; background-size:cover !important; background-position:center 38% !important; background-blend-mode:multiply; }
.gr-embroidery-layout .gr-shirt small { position:absolute; left:12px; bottom:12px; background:#fffdf7; color:#102219; border-radius:20px; padding:4px 10px; }
.gr-embroidery-summary { background:#fff; margin-top:12px; border-radius:10px; text-align:left; padding:12px; }
.gr-embroidery-summary strong { font-size:.72rem; text-transform:uppercase; color:#6a5019; }
.gr-embroidery-summary .gr-preview-summary { padding-top:2px; }
.gr-embroidery-layout .gr-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
.gr-embroidery-layout .gr-field-full { grid-column:1/-1; }
.gr-embroidery-layout [hidden] { display:none !important; }
.gr-embroidery-layout fieldset { border:0; margin:0; padding:0; min-width:0; }
.gr-embroidery-layout legend { margin-bottom:5px; font-size:.9rem; }
.gr-font-options > div,.gr-thread-options > div { display:flex; gap:8px; flex-wrap:wrap; }
.gr-font-options label { flex:1 1 75px; }
.gr-embroidery-layout input[type=radio] { position:absolute; width:1px; height:1px; padding:0; opacity:0; }
.gr-font-options label > span { display:grid; justify-items:center; padding:7px; border:2px solid transparent; border-radius:8px; background:#efeee8; font-size:.78rem; }
.gr-font-options b { font:600 1.2rem Georgia,serif; }
.gr-font-options label:nth-child(2) b { font-style:italic; }
.gr-font-options label:nth-child(3) b { font:700 1rem Arial,sans-serif; text-transform:uppercase; }
.gr-thread-options label > span { display:block; width:42px; height:42px; border:2px solid #d7d8cf; border-radius:50%; background:var(--thread); }
.gr-embroidery-layout input[type=radio]:checked + span { outline:2px solid #102219; outline-offset:2px; }
.gr-embroidery-layout input[type=radio]:focus-visible + span { outline:3px solid #ad7c22; outline-offset:3px; }
.gr-embroidery-layout fieldset label,.gr-embroidery-step summary { cursor:pointer; }
.gr-embroidery-step { margin-top:14px; }
.gr-embroidery-step summary { padding:10px 12px; background:#efeee8; border-radius:8px; }
.gr-embroidery-step[open] > .gr-fields { margin-top:12px; }
.gr-embroidery-contact summary { background:#102219; color:#fff; padding:13px 15px; }
.gr-embroidery-layout .gr-shirt { aspect-ratio:1; background:#f5ede0; background-image:var(--gr-piece-photo,url('assets/bordado-sudadera.jpg')) !important; background-size:contain !important; background-repeat:no-repeat !important; background-position:center !important; background-blend-mode:normal; }
.gr-embroidery-layout .gr-name-preview { transform:translate(-50%,-50%); width:max-content; max-width:60%; cursor:grab; touch-action:none; padding:8px; text-shadow:0 0 2px #fff9; }
.gr-embroidery-layout .gr-name-preview:active { cursor:grabbing; }
.gr-garment-options > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-bottom:14px; }
.gr-garment-options button { min-width:0; border:1px solid #e0ddd4; background:#f6f2ea; border-radius:8px; padding:5px; cursor:pointer; font-size:.75rem; line-height:1.2; color:#102219; }
.gr-garment-options button[aria-pressed=true] { border-color:#285b40; box-shadow:inset 0 0 0 1px #285b40; }
.gr-garment-options img { display:block; width:100%; aspect-ratio:1; max-height:85px; object-fit:contain; margin-bottom:4px; }
.gr-thread-options label > span { display:grid; place-items:center; }
.gr-footer-local { background:#e8e9e1; padding:12px; border-radius:9px; }
.gr-footer-local p { margin:4px 0; }
.gr-accessory-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(90px,1fr)); gap:8px; }
.gr-accessory-cards a { display:grid; gap:4px; background:#fffdf8; border-radius:9px; padding:6px; text-decoration:none; font-size:.83rem; }
.gr-accessory-cards img { display:block; width:100%; max-height:120px; aspect-ratio:1; object-fit:contain; border-radius:6px; }
.gratia-store .gr-seasonal:has(.gr-accessory-cards) { display:grid; grid-template-columns:1fr; }
.post-type-archive-product .hero-section[data-type=type-2] { display:none; }
.tax-product_cat .hero-section[data-type=type-2] { min-height:0; padding-block:0; }
.gr-shop-heading { margin:0 0 12px; font-size:clamp(1.65rem,3vw,2.3rem); line-height:1.1; }
.post-type-archive-product #main > .ct-container { padding-top:clamp(16px,3vw,32px); }
.post-type-archive-product .hero-section .entry-header,.tax-product_cat .hero-section .entry-header { min-height:0; padding-block:12px; }
.post-type-archive-product .woocommerce-products-header,.tax-product_cat .woocommerce-products-header { padding-block:0; margin-block:0 12px; }
.gratia-store.woocommerce ul.products li.product,.gratia-store .gr-featured-products li.product { position:relative; border:1px solid #eeece4; border-radius:16px; background:#fffdf8; padding:12px; }
.gratia-store li.product .gr-card-category,.gratia-store li.product .gr-card-description { display:block; font-size:.78rem; margin:4px 0; }
.gratia-store li.product .gr-card-category { color:#75581a; text-transform:uppercase; letter-spacing:.05em; padding-right:32px; }
.gratia-store li.product .gr-favorite { position:absolute; top:16px; right:16px; z-index:2; width:38px; height:38px; border-radius:50%; border:1px solid #e7e3d9; background:#fffdf8; color:#18372a; font-size:22px; cursor:pointer; }
.gratia-store li.product .gr-favorite[aria-pressed=true] { color:#9d3152; }
.gratia-store li.product .button { background:#102219; color:white; border-radius:8px; }
@media (prefers-reduced-motion:no-preference) {
    .gratia-store li.product { transition:transform .2s ease,box-shadow .2s ease; }
    .gratia-store li.product:hover,.gratia-store li.product:focus-within { transform:translateY(-3px); box-shadow:0 8px 22px #10221916; }
}
.gratia-store .wc-block-cart,.gratia-store .wc-block-checkout { --wc-form-border-color:#d5d9ce; }
.gratia-store .wc-block-components-sidebar { background:#f0efe9; border-radius:14px; padding:18px; }
.gratia-store .wc-block-cart__submit-button,.gratia-store .wc-block-components-checkout-place-order-button { background:#102219; color:white; border-radius:8px; }
.gratia-store .woocommerce-cart-form,.gratia-store .cart_totals,.gratia-store .woocommerce-checkout-review-order,.gr-product-delivery { background:#f0efe9; border-radius:14px; padding:clamp(12px,2vw,22px); }
.gratia-store .product .summary .price { color:#102219; font-family:Georgia,serif; }
.gr-product-delivery { margin-top:16px; }
.gr-product-delivery summary { cursor:pointer; font-weight:bold; }
.gr-product-delivery p { margin:8px 0; }
@media (min-width:1240px) {
    .gr-reference-embroidery { width:min(1340px,calc(100vw - 48px)); margin-inline:calc((100% - min(1340px,calc(100vw - 48px))) / 2); }
}
@media (max-width:767px) { .gr-embroidery-layout { grid-template-columns:minmax(0,1fr); } }
.gr-reference-local { display:grid; grid-template-columns:1.35fr 1fr; gap:18px; }
.gr-reference-local > * { background:#eeeee8; padding:clamp(20px,3vw,38px); border-radius:16px; }
.gr-reference-local > aside { background:#f0efe9; }
.gr-reference-local h2 { color:#102219; margin-top:0; font-size:clamp(1.65rem,3.5vw,2.6rem); line-height:1.1; }
.gr-local-options { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:16px 0; }
.gr-local-options > div { background:#fffdf7; border-radius:10px; padding:12px; }
.gr-local-options p { margin:4px 0 0; font-size:.9rem; }
.gratia-store .gr-footer { background:#f0efe9; color:#102219; }
.gratia-store .gr-footer a,.gratia-store .gr-footer h3 { color:#102219; }
.gratia-store .gr-footer-grid { grid-template-columns:1.25fr repeat(3,1fr); }
.gratia-store .gr-footer-grid > div:not(:first-child) h3 { font:bold .85rem Arial,sans-serif; text-transform:uppercase; }
.gratia-store .gr-footer-small { border-color:#d8d9ce; }
@media (max-width:900px) { .gr-header-location { display:none; } }
@media (max-width:782px) { .admin-bar .gr-header { top:46px; } }
@media (max-width:767px) {
    .gratia-store .gr-brand { font-size:21px; gap:5px; }
    .gratia-store .gr-brand img { width:32px; height:32px; }
    .gratia-store .gr-headrow { column-gap:3px; }
    .gratia-store .gr-account-actions { gap:3px; }
    .gratia-store .gr-action { padding:6px; min-width:32px; }
    .gr-action-label { display:none; }
    .gratia-store .gr-header-account,.gratia-store .gr-header .gr-search:not(.is-open) { display:none; }
    .gratia-store .gr-search-toggle,.gratia-store .gr-mobile-account { display:inline-flex; }
    .gratia-store:has(.gr-mobile-nav) .gr-header .gr-account-actions :is(.gr-search-toggle,.gr-wa,.gr-bag) { display:inline-flex; }
    .gratia-store .gr-header .gr-account-actions { gap:0; }
    .gratia-store .gr-header .gr-action { width:44px; min-height:44px; border:0; background:transparent; color:#102219; position:relative; }
    .gratia-store .gr-header .gr-wa { background:#e5eee4; color:#1d5636; }
    .gratia-store .gr-header .gr-action[aria-expanded=true] { background:#eeede8; }
    .gratia-store .gr-header .gr-bag .gr-cart-count { position:absolute; top:3px; right:2px; min-width:16px; height:16px; padding:0 3px; line-height:16px; text-align:center; color:#fff; background:#18372a; border-radius:12px; font-size:10px; }
    .gr-reference-hero { position:relative; grid-template-columns:1fr; min-height:420px; align-items:end; border-radius:14px; overflow:hidden; margin-block:14px 28px; }
    .gr-reference-intro { z-index:1; color:#fff; padding:18px; }
    .gr-reference-intro h1 { color:#fff; font-size:clamp(2rem,8vw,3.25rem); }
    .gr-reference-intro .gr-reference-kicker,.gr-reference-tagline { color:#f2d8a2; }
    .gr-reference-intro .gr-button { width:100%; }
    .gr-reference-collage { position:absolute; inset:0; display:block; padding:0; }
    .gr-reference-collage a:first-child { height:100%; }
    .gr-reference-collage a:first-child img { height:100%; }
    .gr-reference-collage a:not(:first-child),.gr-reference-collage span { display:none; }
    .gr-reference-collage::after { content:""; position:absolute; inset:0; background:linear-gradient(transparent 4%,#102219 72%); pointer-events:none; }
    .gr-reference-local { grid-template-columns:1fr; }
    .gr-reference-tiles,.gratia-store .gr-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .gr-reference-tiles .gr-collection div { padding:10px; }
}
@media (max-width:360px) {
    .gratia-store .gr-header .gr-headrow { width:calc(100% - 24px); }
    .gratia-store .gr-header .gr-brand { font-size:19px; }
}
