html{background:#24261F}body{margin:0}a{color:inherit;text-decoration:none}a:hover{opacity:.8}button{font-family:inherit}
.sp-nl.on{color:#C9A65E;border-bottom:2px solid #C9A65E}
#sp-wrap img{max-width:100%}
#sp-wrap > .wp-block-html{display:contents}

/* ===== Tienda (WooCommerce) ===== */
.sp-shop{background:#F5F0E6;color:#24261F;padding:64px 0 96px;font-family:'Karla',sans-serif;font-size:17px;line-height:1.6}
.sp-shop-in{max-width:1240px;margin:0 auto;padding:0 32px;box-sizing:border-box}
.sp-shop h1,.sp-shop h2,.sp-shop h3,.sp-shop .product_title,.sp-shop-title{font-family:'Josefin Sans',sans-serif;font-weight:300;letter-spacing:.04em;text-transform:uppercase;color:#24261F;line-height:1.15}
.sp-shop h1,.sp-shop .product_title,.sp-shop-title{font-size:44px;margin:0 0 24px}
.sp-shop a{color:#24261F;text-decoration:underline;text-underline-offset:3px}
.sp-shop .woocommerce-breadcrumb{font-size:14px;color:#6b6a5f;margin-bottom:24px}
.sp-shop .woocommerce-breadcrumb a{color:#6b6a5f}
.sp-shop ul.products{list-style:none;padding:0;margin:32px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:24px}
.sp-shop ul.products li.product{background:#2E3028;color:#F5F0E6;border:1px solid #4A4C42;border-radius:4px;overflow:hidden;display:flex;flex-direction:column;margin:0;padding:0 0 24px;width:auto;float:none}
.sp-shop ul.products li.product a{color:#F5F0E6;text-decoration:none}
.sp-shop ul.products li.product img{width:100%;height:240px;object-fit:cover;margin:0 0 16px;display:block}
.sp-shop ul.products li.product .woocommerce-loop-product__title{font-family:'Josefin Sans',sans-serif;font-weight:600;font-size:20px;letter-spacing:.1em;text-transform:uppercase;padding:0 24px;margin:0 0 8px;color:#F5F0E6}
.sp-shop ul.products li.product .price{display:block;padding:0 24px;color:#F8C870;font-size:18px;margin-bottom:16px}
.sp-shop ul.products li.product .price .woocommerce-Price-amount,.sp-shop ul.products li.product .price ins,.sp-shop ul.products li.product .price del{color:inherit}
.sp-shop ul.products li.product .price del{opacity:.6;margin-right:6px}
.sp-shop ul.products li.product .button{margin:auto 24px 0;text-align:center}
.sp-shop .button,.sp-shop button.button,.sp-shop a.button,.sp-shop input[type=submit],.sp-shop .wp-element-button,.sp-shop .wc-block-components-button,.sp-shop #place_order{background:#C9A65E;color:#24261F;border:0;border-radius:2px;padding:14px 26px;font-family:'Josefin Sans',sans-serif;font-weight:600;font-size:14px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;cursor:pointer;display:inline-block}
.sp-shop .button:hover,.sp-shop #place_order:hover,.sp-shop .wp-element-button:hover{background:#F8C870;color:#24261F;opacity:1}
.sp-shop .button.disabled,.sp-shop .button:disabled{opacity:.5}
.sp-shop .price,.sp-shop .woocommerce-Price-amount{color:#24261F;font-weight:500}
.sp-shop div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.sp-shop div.product div.images{margin:0;width:auto;float:none}
.sp-shop div.product div.images img{width:100%;height:auto;border-radius:4px}
.sp-shop div.product div.summary{margin:0;width:auto;float:none}
.sp-shop div.product p.price{font-size:30px;margin:0 0 16px}
.sp-shop div.product .woocommerce-tabs,.sp-shop div.product .related,.sp-shop div.product .upsells{grid-column:1 / -1}
.sp-shop table.variations td,.sp-shop table.variations th{padding:6px 0;text-align:left;vertical-align:middle;display:block;border:0}
.sp-shop table.variations label{font-family:'Josefin Sans',sans-serif;font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:13px}
.sp-shop select,.sp-shop input[type=text],.sp-shop input[type=email],.sp-shop input[type=tel],.sp-shop input[type=password],.sp-shop input[type=number],.sp-shop textarea{background:#fff;color:#24261F;border:1px solid #b9b39f;border-radius:2px;padding:12px 14px;font:inherit;max-width:100%;box-sizing:border-box}
.sp-shop .quantity input{width:80px}
.sp-shop table{border-collapse:collapse;width:100%}
.sp-shop table th,.sp-shop table td{border-bottom:1px solid #d9d2bd;padding:14px 10px;text-align:left}
.sp-shop .woocommerce-message,.sp-shop .woocommerce-info,.sp-shop .woocommerce-error{background:#ECE4D2;border-left:4px solid #C9A65E;padding:14px 18px;margin:0 0 24px;list-style:none}
.sp-shop .woocommerce-tabs ul.tabs{list-style:none;padding:0;margin:0 0 16px;display:flex;gap:24px;border-bottom:1px solid #d9d2bd}
.sp-shop .woocommerce-tabs ul.tabs li a{text-decoration:none;font-family:'Josefin Sans',sans-serif;font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:13px;display:block;padding:10px 0}
.sp-shop .woocommerce-tabs ul.tabs li.active a{color:#8a6d2c;border-bottom:2px solid #C9A65E}
.sp-shop .cart_totals,.sp-shop .woocommerce-checkout-review-order{background:#fff;border:1px solid #d9d2bd;padding:24px;border-radius:4px}
.sp-shop .col2-set .col-1,.sp-shop .col2-set .col-2{width:auto;float:none}
.sp-shop #customer_details{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.sp-shop .form-row{margin:0 0 16px;display:flex;flex-direction:column;gap:6px}
.sp-shop .wc-block-components-text-input input,.sp-shop .wc-block-components-select select{background:#fff;color:#24261F}
.sp-shop .wc-block-components-totals-wrapper,.sp-shop .wc-block-cart__sidebar{color:#24261F}
@media (max-width:820px){.sp-shop div.product{grid-template-columns:1fr}.sp-shop #customer_details{grid-template-columns:1fr}.sp-shop h1,.sp-shop .product_title{font-size:32px}.sp-shop-in{padding:0 20px}}

details.sp-dt>summary{list-style:none}
details.sp-dt>summary::-webkit-details-marker{display:none}
details.sp-dt[open]>summary .sp-pm{display:none}

/* Carrito y resumen del pedido: cada tarjeta regalo en su propia línea */
.wc-block-components-product-details li{display:block !important;margin:0 0 4px !important}
.wc-block-components-product-details li::after,.wc-block-components-product-details li::before{content:none !important}
.wc-block-components-product-details__name{display:inline;font-weight:700}
/* Tarjeta regalo en la ficha del producto: una pregunta por línea */
.sp-shop form.cart,.sp-shop .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;gap:14px;align-items:stretch}
.sp-shop form.cart .quantity input{height:100%;min-height:48px;text-align:center}
.sp-shop .sp-gift{flex:0 0 100%;box-sizing:border-box;margin:8px 0 10px;padding:22px 24px;border:1px solid rgba(201,166,94,.55);border-radius:4px;background:#FFFDF8;display:flex;flex-direction:column;gap:16px}
.sp-shop .sp-gift-toggle{display:flex;gap:12px;align-items:center;cursor:pointer;font-family:'Josefin Sans',sans-serif;font-weight:600;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:#24261F;margin:0}
.sp-shop .sp-gift-toggle input{width:18px;height:18px;accent-color:#C9A65E;margin:0}
.sp-shop .sp-gift-body{display:flex;flex-direction:column;gap:16px}
.sp-shop .sp-gift-body[hidden]{display:none}
.sp-shop .sp-gift-help{margin:0;font-size:14px;line-height:1.5;color:#5d5848}
.sp-shop .sp-gift label{display:flex;flex-direction:column;gap:6px;margin:0;font-family:'Josefin Sans',sans-serif;font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#6b6552}
.sp-shop .sp-gift label input[type=text],.sp-shop .sp-gift label input[type=number],.sp-shop .sp-gift label select{width:100%;font-family:'Karla',sans-serif;font-size:16px;letter-spacing:0;text-transform:none;font-weight:400;color:#24261F;padding:12px 14px}
.sp-shop .sp-gift .sp-gift-n select{max-width:160px}
.sp-shop .sp-gift-cards{display:flex;flex-direction:column;gap:18px}
.sp-shop .sp-gift fieldset.sp-gift-c{margin:0;padding:16px 0 0;border:0;border-top:1px solid rgba(201,166,94,.45);display:flex;flex-direction:column;gap:14px;min-width:0}
.sp-shop .sp-gift fieldset.sp-gift-c legend{padding:0 10px 0 0;float:left;width:100%;margin:0 0 4px;font-family:'Josefin Sans',sans-serif;font-weight:600;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:#B08D3E}
.sp-shop .sp-gift fieldset.sp-gift-c legend+*{clear:both}
.sp-shop .sp-gift label.sp-gift-toggle{flex-direction:row;align-items:center;gap:12px;font-size:14px;color:#24261F}
.sp-shop .sp-gift fieldset.sp-gift-c legend{margin-bottom:0}
/* Fotos de producto: formato apaisado uniforme (también en móvil) */
.sp-shop div.product div.images .woocommerce-product-gallery__image img,.sp-shop div.product div.images > img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center 30%}
.sp-shop div.product div.images .woocommerce-product-gallery__image{max-height:none}
@media (max-width:700px){.sp-shop div.product div.images .woocommerce-product-gallery__image img,.sp-shop div.product div.images > img{aspect-ratio:4/3}}

/* Tienda compacta y por servicios */
.sp-shop .sp-shop-cat{font-size:24px;margin:44px 0 0;padding-bottom:10px;border-bottom:1px solid #C9A65E}
.sp-shop ul.products.sp-compact,.sp-shop ul.products{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px;margin-top:20px}
.sp-shop ul.products li.product{padding-bottom:16px}
.sp-shop ul.products li.product img{height:150px;margin-bottom:12px}
.sp-shop ul.products li.product .woocommerce-loop-product__title{font-size:14px;padding:0 14px;letter-spacing:.07em;line-height:1.25}
.sp-shop ul.products li.product .price{padding:0 14px;font-size:16px;margin-bottom:12px}
.sp-shop ul.products li.product .button{margin:auto 14px 0;padding:10px 8px;font-size:12px;letter-spacing:.1em}
/* aún más compacto */
.sp-shop ul.products.sp-compact,.sp-shop ul.products{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.sp-shop ul.products li.product{padding-bottom:12px}
.sp-shop ul.products li.product img{height:105px;margin-bottom:10px}
.sp-shop ul.products li.product .woocommerce-loop-product__title{font-size:12px;padding:0 10px;letter-spacing:.05em;line-height:1.25}
.sp-shop ul.products li.product .price{padding:0 10px;font-size:14px;margin-bottom:10px}
.sp-shop ul.products li.product .button{margin:auto 10px 0;padding:8px 6px;font-size:10.5px;letter-spacing:.08em}
.sp-shop .sp-shop-cat{font-size:20px;margin-top:34px}
@media(max-width:600px){.sp-shop ul.products.sp-compact,.sp-shop ul.products{grid-template-columns:repeat(2,1fr)}}


/* Botón flotante del carrito */
.sp-cart-fab{position:fixed;right:24px;bottom:150px;z-index:60;display:inline-flex;align-items:center;gap:8px;padding:12px 16px;background:#24261F;color:#C9A65E;border:1px solid #C9A65E;border-radius:999px;box-shadow:0 6px 20px rgba(0,0,0,.35);font-family:'Josefin Sans',sans-serif;font-size:13px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}
.sp-cart-fab[hidden]{display:none}
.sp-cart-fab:hover{background:#C9A65E;color:#24261F;opacity:1}
.sp-cart-n{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#C9A65E;color:#24261F;font-size:12px;letter-spacing:0}
.sp-cart-fab:hover .sp-cart-n{background:#24261F;color:#C9A65E}
@media(max-width:600px){.sp-cart-fab .sp-cart-t{display:none}.sp-cart-fab{padding:12px}}

/* Botones de bloques de WooCommerce (p. ej. «Nuevo en la tienda» del carrito vacío) */
.sp-shop .wc-block-grid__product-add-to-cart .wp-block-button__link,.sp-shop .wp-block-button__link,.sp-shop .wc-block-grid__product .add_to_cart_button{background:#C9A65E!important;color:#24261F!important;border:0;border-radius:3px;font-family:'Josefin Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase;font-size:13px;text-decoration:none}
.sp-shop .wc-block-grid__product-add-to-cart .wp-block-button__link:hover,.sp-shop .wp-block-button__link:hover{background:#24261F!important;color:#C9A65E!important}
/* Ficha de producto: lo que incluye */
.sp-shop .woocommerce-Tabs-panel h3{font-family:'Josefin Sans',sans-serif;font-weight:600;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:#8a6d2c;margin:26px 0 10px}
.sp-shop .woocommerce-Tabs-panel h4{font-family:'Josefin Sans',sans-serif;font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin:16px 0 6px}
.sp-shop .woocommerce-Tabs-panel ul{list-style:none;padding:0;margin:0 0 10px}
.sp-shop .woocommerce-Tabs-panel ul li{position:relative;padding-left:24px;margin:0 0 7px;line-height:1.55}
.sp-shop .woocommerce-Tabs-panel ul li:before{content:"✓";position:absolute;left:0;color:#8a6d2c}
.sp-shop .sp-gift-warn{margin:6px 0 0;padding:10px 12px;border-left:3px solid #C9A65E;background:#f6efdc;font-size:13.5px;line-height:1.5;color:#3d3a2c}
