/* 3D Print Spain · v4 en WordPress
   Lo que el prototipo no tenía: formularios reales de WooCommerce, campos de PPOM, subida de fotos de TDPS,
   vista previa, avisos, carrito, pago y mi cuenta. Mismos colores, letras y medidas que el resto del diseño. */

/* ── utilidades ── */
.screen-reader-text,.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip:focus{position:fixed!important;left:12px;top:12px;width:auto;height:auto;clip:auto;z-index:200;background:#fff;color:var(--ink);padding:10px 14px;border-radius:10px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
[hidden]{display:none!important}
html.no-scroll{overflow:hidden}
body.admin-bar .hdr.is-solid{top:var(--wp-admin--admin-bar--height,32px)}

/* ── cabecera: chips de búsqueda como enlaces, buscador desplegable ── */
.c-quick a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.2);color:var(--fog-100);font-weight:600;font-size:.9rem;transition:all .2s}
.c-quick a:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.hdr-search{border-top:1px solid rgba(255,255,255,.08);padding:12px 0 16px}
.hdr.on-light .hdr-search{border-top-color:rgba(11,12,14,.08)}
.hdr-search .search-lg{margin:0}

/* ── tienda: pestañas como enlaces, orden y páginas ── */
.shop-tabs a.tab{flex-shrink:0;display:inline-flex;align-items:center;min-height:50px;padding:0 20px;border-radius:999px;border:2px solid var(--fog-200);background:var(--white);font-weight:700;font-size:.96rem;color:var(--ink)}
.shop-tabs a.tab[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.shop-tabs a.tab .n{font-family:var(--f-mono);font-size:.78rem;opacity:.6;margin-left:6px}
body[data-world="coche"] .page-head .shop-tabs a.tab{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18);color:#fff}
body[data-world="coche"] .page-head .shop-tabs a.tab[aria-pressed="true"]{background:var(--red);border-color:var(--red)}
body[data-world="personalizados"] .page-head .shop-tabs a.tab{background:#FFFDF9;border-color:#E3D6C6;color:#2A211A}
body[data-world="personalizados"] .page-head .shop-tabs a.tab[aria-pressed="true"]{background:#2A211A;border-color:#2A211A;color:#fff}
.sort-f{margin:0}
.pager{display:flex;justify-content:center;gap:8px;margin-top:34px}
.pager a{min-width:48px;height:48px;display:grid;place-items:center;border-radius:12px;border:2px solid var(--fog-200);background:var(--white);font-weight:800}
.pager a[aria-current]{background:var(--ink);color:#fff;border-color:var(--ink)}
.pc-media > a{display:block;position:absolute;inset:0}
.pc .price del{opacity:.5;font-weight:600;margin-right:4px}.pc .price ins{text-decoration:none}
.btn-add.btn-add-go{background:transparent;color:var(--ink);border:2px solid var(--ink)}
.btn-add.btn-add-go:hover{background:var(--ink);color:#fff}
.btn-add.loading{opacity:.6;pointer-events:none}
.btn-add.added::after{content:" ✓"}
a.added_to_cart{display:none!important}
.f-opt{cursor:pointer}
.compat select[disabled]{opacity:1;color:inherit}
.all-world .sec-head{align-items:end}

/* ── ficha: formulario real de WooCommerce ── */
.tdps-buyform{margin:22px 0 4px}
.tdps-buyform.has-perso{padding:18px 18px 6px;border-radius:var(--r);background:#FFFDF9;border:1.5px dashed #D9C6B0}
body[data-world="coche"] .tdps-buyform.has-perso{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.2)}
.tdps-buyform .perso-head{margin-bottom:14px}
form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;margin:0}
form.cart > *{flex-basis:100%}
form.cart .quantity{flex:0 0 auto;display:inline-flex;align-items:center;border:2px solid var(--fog-200);border-radius:14px;background:var(--white);overflow:hidden;height:60px}
form.cart .quantity .qty{width:58px;height:56px;border:0;text-align:center;font-size:1.2rem;font-weight:800;background:transparent;color:var(--ink);-moz-appearance:textfield}
form.cart .quantity .qty::-webkit-inner-spin-button,form.cart .quantity .qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
form.cart .qty-btn{width:52px;height:56px;font-size:1.5rem;font-weight:700;color:var(--ink);background:transparent}
form.cart .qty-btn:hover{background:var(--fog-100)}
form.cart .single_add_to_cart_button,.woocommerce-variation-add-to-cart .single_add_to_cart_button{flex:1 1 220px;min-height:60px;border:0;border-radius:999px;background:var(--red);color:#fff;font-family:var(--f-body);font-weight:800;font-size:1.06rem;cursor:pointer;box-shadow:var(--sh-red);transition:background .2s,transform .2s}
form.cart .single_add_to_cart_button:hover{background:var(--red-600)}
form.cart .single_add_to_cart_button.disabled,form.cart .single_add_to_cart_button:disabled{opacity:.45;cursor:not-allowed}
form.cart .quantity,form.cart .single_add_to_cart_button{flex-basis:auto}
.woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;gap:12px;width:100%}
table.variations{width:100%;border-collapse:collapse;margin:0 0 6px}
table.variations th,table.variations td{display:block;padding:0;text-align:left}
table.variations th label{font-weight:700;font-size:1rem}
table.variations select{width:100%;min-height:56px;margin:8px 0 6px;border-radius:14px;border:2px solid var(--fog-200);background:var(--white);padding:0 14px;font-size:1.02rem;color:var(--ink)}
table.variations .reset_variations{font-size:.9rem;text-decoration:underline;color:inherit;opacity:.75}
.woocommerce-variation-price .price{font-family:var(--f-display);font-weight:800;font-size:1.6rem}
.woocommerce-variation-availability p{margin:4px 0}
body[data-world="coche"] .pdp-band table.variations select{background:#16181b;color:#fff;border-color:rgba(255,255,255,.22)}
body[data-world="coche"] .pdp-band form.cart .quantity{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.2)}
body[data-world="coche"] .pdp-band form.cart .quantity .qty,body[data-world="coche"] .pdp-band form.cart .qty-btn{color:#fff}
body[data-world="coche"] .pdp-band form.cart .qty-btn:hover{background:rgba(255,255,255,.1)}

/* ── campos de PPOM con el estilo de la web (los datos y su guardado siguen siendo de PPOM) ── */
.ppom-wrapper{width:100%;font-family:var(--f-body)}
.ppom-wrapper .form-row{display:block;margin:0}
.ppom-wrapper .ppom-field-wrapper{width:100%;max-width:100%;padding:0;margin:0 0 14px;flex:none}
.ppom-wrapper label.form-control-label,.ppom-wrapper .ppom-field-wrapper > label{display:block;font-weight:700;font-size:1rem;margin-bottom:8px;color:inherit}
.ppom-wrapper .form-control,.ppom-wrapper input[type=text],.ppom-wrapper input[type=email],.ppom-wrapper input[type=number],.ppom-wrapper textarea,.ppom-wrapper select{width:100%;min-height:56px;border-radius:14px;border:2px solid var(--fog-200);background:var(--white);padding:12px 16px;font-size:1.05rem;color:var(--ink);box-shadow:none}
.ppom-wrapper textarea{min-height:110px}
.ppom-wrapper .form-control:focus,.ppom-wrapper input:focus,.ppom-wrapper textarea:focus,.ppom-wrapper select:focus{outline:0;border-color:var(--ink);box-shadow:0 0 0 4px rgba(11,12,14,.08)}
.ppom-wrapper .ppom-input-desc,.ppom-wrapper small,.ppom-wrapper .description{display:block;font-size:.9rem;color:var(--steel-500);margin-top:6px}
.ppom-wrapper .show_required,.ppom-wrapper .ppom-required{color:var(--red)}
.ppom-wrapper .ppom-check-input,.ppom-wrapper input[type=checkbox],.ppom-wrapper input[type=radio]{width:22px;height:22px;accent-color:var(--red);vertical-align:middle;margin-right:8px}
.ppom-wrapper .form-check,.ppom-wrapper .ppom-checkbox-label,.ppom-wrapper label.form-check-label{display:inline-flex;align-items:center;min-height:44px;margin:0 8px 6px 0;padding:0 14px;border:2px solid var(--fog-200);border-radius:999px;background:var(--white);font-weight:600;cursor:pointer;color:var(--ink)}
.ppom-wrapper #ppom-price-container,.ppom-wrapper .ppom-price-container{font-size:.92rem;margin:4px 0 8px}
.ppom-wrapper #ppom-price-container table{width:100%;border-collapse:collapse}
.ppom-wrapper #ppom-price-container td,.ppom-wrapper #ppom-price-container th{padding:6px 0;border-bottom:1px solid var(--fog-200)}
#ppom-price-cloner-wrapper{display:none}
body[data-world="coche"] .pdp-band .ppom-wrapper .form-control,body[data-world="coche"] .pdp-band .ppom-wrapper input[type=text],body[data-world="coche"] .pdp-band .ppom-wrapper textarea{background:#16181b;color:#fff;border-color:rgba(255,255,255,.22)}
body[data-world="personalizados"] .ppom-wrapper .form-control,body[data-world="personalizados"] .ppom-wrapper input[type=text],body[data-world="personalizados"] .ppom-wrapper textarea,body[data-world="personalizados"] .ppom-wrapper select{border-color:#E3D6C6}

/* ── subida de fotos (backend de TDPS de siempre) ── */
.tdps-up{width:100%;margin:2px 0 6px;font-family:var(--f-body)}
.tdps-up .tdps-up-zone{display:flex;align-items:center;gap:16px;padding:18px;border:2.5px dashed var(--steel-300);border-radius:18px;background:var(--white);cursor:pointer;transition:all .2s;min-height:84px}
.tdps-up .tdps-up-zone:hover,.tdps-up .tdps-up-zone.tdps-up-drag{border-color:var(--red);background:#FFF5F5}
.tdps-up .tdps-up-icon{width:52px;height:52px;flex-shrink:0;border-radius:14px;display:grid;place-items:center;background:var(--fog-100);font-size:0}
.tdps-up .tdps-up-icon svg{width:26px;height:26px;color:var(--ink)}
.tdps-up .tdps-up-txt b{font-size:1.06rem;color:var(--ink)}
.tdps-up .tdps-up-txt b span{font-weight:500;color:var(--steel-500);font-size:.9rem}
.tdps-up .tdps-up-hint{font-size:.92rem;color:var(--steel-500)}
.tdps-up .tdps-up-item{min-height:48px;border-radius:12px;font-size:.95rem}
.tdps-up .tdps-up-rm{min-width:44px;min-height:44px}
body[data-world="personalizados"] .tdps-up .tdps-up-zone{border-color:#D9C6B0;background:#fff}
body[data-world="coche"] .pdp-band .tdps-up .tdps-up-zone{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.25)}
body[data-world="coche"] .pdp-band .tdps-up .tdps-up-txt b{color:#fff}

/* ── vista previa ── */
.tdps-preview{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(70% 70% at 50% 40%,#fffdf9,#F1E9DF);z-index:1}
.tdps-preview svg{width:88%;height:88%;filter:drop-shadow(0 24px 30px rgba(60,40,20,.18))}
.tdps-preview .pv-note{position:absolute;left:12px;right:12px;bottom:12px;text-align:center;font-size:.7rem;color:#6d5f52}
.stage .stage-tags,.stage .brackets,.stage .zoom{z-index:2}
.thumbs .t-preview{display:grid;place-items:center;gap:2px;background:#2A211A;color:#fff;font-family:var(--f-mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;line-height:1.1;text-align:center}
.thumbs .t-preview svg{width:22px;height:22px}
.thumbs .t-preview[aria-current="true"]{border-color:var(--red)}
.summary-extra:empty{display:none}
.summary-extra{margin-top:16px}

/* ── avisos de WooCommerce ── */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-error,.woocommerce-info,.wc-block-components-notice-banner{list-style:none;margin:0 0 18px;padding:14px 16px 14px 48px;border-radius:14px;position:relative;font-size:.98rem;line-height:1.45;background:#ECFDF3;color:#064E2B;border:1px solid #B7EBCB}
.woocommerce-message::before,.woocommerce-error::before,.woocommerce-info::before{position:absolute;left:16px;top:13px;font-weight:900}
.woocommerce-message::before{content:"✓"}
.woocommerce-error{background:#FEF2F2;color:#7F1D1D;border-color:#FBCACA}.woocommerce-error::before{content:"!"}
.woocommerce-info{background:#F4F4F1;color:var(--ink);border-color:var(--fog-200)}.woocommerce-info::before{content:"i"}
.woocommerce-message .button,.woocommerce-info .button{float:right;margin-left:12px;font-weight:800;text-decoration:underline}

/* ── carrito lateral ── */
.tdps-mini{display:flex;flex-direction:column;flex:1;min-height:0}
.tdps-mini .cart-items{flex:1}
.cart-empty{padding:30px 24px;color:var(--steel-500);font-size:1.05rem}
.ci-meta{display:block;color:var(--steel-500);font-size:.82rem;line-height:1.35;margin:2px 0}
.tdps-mini .ship{padding:14px 24px;font-size:.92rem;border-bottom:1px solid var(--fog-200)}
.tdps-mini .ship .bar{height:6px;border-radius:3px;background:var(--fog-200);overflow:hidden;margin-top:8px}
.tdps-mini .ship .bar i{display:block;height:100%;background:var(--ok)}

/* ── páginas: carrito, pago, mi cuenta, textos ── */
.page-body{padding-block:28px clamp(56px,7vw,110px)}
.entry{max-width:100%}
.entry > p,.entry > h2,.entry > h3,.entry > ul{max-width:72ch}
.entry h2{font-size:1.6rem;margin:26px 0 10px}
.tdps-page .woocommerce{font-size:1rem}
.tdps-page input.input-text,.tdps-page .woocommerce-input-wrapper input,.tdps-page select,.tdps-page textarea,.tdps-page .select2-container .select2-selection--single{width:100%;min-height:54px;border-radius:14px;border:2px solid var(--fog-200);background:var(--white);padding:10px 14px;font-size:1.02rem;color:var(--ink)}
.tdps-page .select2-container .select2-selection--single .select2-selection__rendered{line-height:32px}
.tdps-page .select2-container .select2-selection--single .select2-selection__arrow{height:52px}
.tdps-page input.input-text:focus,.tdps-page select:focus,.tdps-page textarea:focus{outline:0;border-color:var(--ink)}
.tdps-page .form-row{margin:0 0 14px}
.tdps-page .form-row label{display:block;font-weight:700;margin-bottom:6px}
.tdps-page .required{color:var(--red);text-decoration:none}
.tdps-page .button,.tdps-page button.button,.tdps-page a.button,.tdps-page input.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 1.4em;border-radius:999px;border:0;background:var(--ink);color:#fff;font-weight:800;font-size:1rem;cursor:pointer}
.tdps-page .button.alt,.tdps-page .checkout-button,.tdps-page #place_order{background:var(--red);color:#fff;min-height:62px;font-size:1.1rem;width:100%;box-shadow:var(--sh-red)}
.tdps-page table.shop_table{width:100%;border-collapse:separate;border-spacing:0;background:var(--white);border:1px solid var(--fog-200);border-radius:var(--r-lg);overflow:hidden;margin-bottom:22px}
.tdps-page table.shop_table th,.tdps-page table.shop_table td{padding:14px 16px;border-bottom:1px solid var(--fog-100);text-align:left;vertical-align:middle}
.tdps-page table.shop_table tr:last-child td{border-bottom:0}
.tdps-page table.shop_table img{width:72px;height:72px;object-fit:cover;border-radius:10px}
.tdps-page .product-remove a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--fog-100);color:var(--ink);font-size:1.4rem;text-decoration:none}
.tdps-page .product-name a{font-weight:700}
.tdps-page .product-name .variation,.tdps-page dl.variation{margin:6px 0 0;font-size:.88rem;color:var(--steel-500)}
.tdps-page dl.variation dt{float:left;clear:left;margin-right:4px;font-weight:700}
.tdps-page dl.variation dd{margin:0}
.tdps-page dl.variation p{margin:0}
.tdps-page .quantity .qty{width:84px;min-height:48px;border-radius:12px;border:2px solid var(--fog-200);text-align:center;font-weight:800;font-size:1.05rem}
.tdps-page .coupon{display:flex;gap:8px;flex-wrap:wrap}
.tdps-page .coupon .input-text{max-width:220px}
.tdps-page .cart-collaterals .cart_totals,.tdps-page #order_review,.tdps-page .woocommerce-checkout-review-order{background:var(--white);border:1px solid var(--fog-200);border-radius:var(--r-lg);padding:20px}
.tdps-page .cart_totals h2,.tdps-page #order_review_heading,.tdps-page .woocommerce-billing-fields h3,.tdps-page .woocommerce-additional-fields h3,.tdps-page #ship-to-different-address{font-size:1.4rem;margin:0 0 14px}
.tdps-page .cart_totals table.shop_table{border:0;margin:0}
.tdps-page #shipping_method{list-style:none;margin:0;padding:0}
.tdps-page #shipping_method li{margin:0 0 8px}
.tdps-page #shipping_method li label,.tdps-page .wc_payment_method > label{font-weight:700}
.tdps-page input[type=radio],.tdps-page input[type=checkbox]{width:22px;height:22px;accent-color:var(--red);vertical-align:middle;margin-right:6px}
.tdps-page .wc_payment_methods{list-style:none;margin:0 0 16px;padding:0}
.tdps-page .wc_payment_method{padding:14px;border:2px solid var(--fog-200);border-radius:14px;margin-bottom:8px;background:var(--paper)}
.tdps-page .payment_box{margin-top:8px;font-size:.92rem;color:var(--steel-500)}
.tdps-page .woocommerce-terms-and-conditions-wrapper{font-size:.92rem;margin:12px 0}
@media (min-width:981px){
  .tdps-page-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:28px 40px;align-items:start}
  .tdps-page-checkout form.checkout > .woocommerce-NoticeGroup,.tdps-page-checkout form.checkout > .woocommerce-notices-wrapper{grid-column:1 / -1}
  .tdps-page-checkout #customer_details{grid-column:1}
  .tdps-page-checkout #order_review_heading,.tdps-page-checkout #order_review{grid-column:2}
  .tdps-page-checkout #order_review_heading{grid-row:1;align-self:end}
  .tdps-page-checkout #order_review{grid-row:2 / span 4;position:sticky;top:100px}
  .tdps-page-checkout .col2-set .col-1,.tdps-page-checkout .col2-set .col-2{width:100%;float:none}
  .tdps-page-cart .woocommerce{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:30px;align-items:start}
  .tdps-page-cart .woocommerce > .woocommerce-notices-wrapper,.tdps-page-cart .woocommerce > .tdps-loyalty-banner{grid-column:1 / -1}
  .tdps-page-cart .cart-collaterals{position:sticky;top:100px}
  .tdps-page .col2-set{display:block}
}
.tdps-page .woocommerce-billing-fields__field-wrapper,.tdps-page .woocommerce-shipping-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.tdps-page .form-row-wide,.tdps-page #billing_address_1_field,.tdps-page #billing_address_2_field,.tdps-page #billing_email_field{grid-column:1 / -1}
@media (max-width:640px){
  .tdps-page .woocommerce-billing-fields__field-wrapper,.tdps-page .woocommerce-shipping-fields__field-wrapper{grid-template-columns:1fr}
  .tdps-page table.shop_table_responsive thead{display:none}
  .tdps-page table.shop_table_responsive tr{display:block;border-bottom:1px solid var(--fog-200);padding:8px 0}
  .tdps-page table.shop_table_responsive td{display:flex;justify-content:space-between;align-items:center;gap:10px;border:0;padding:8px 14px}
  .tdps-page table.shop_table_responsive td::before{content:attr(data-title);font-weight:700;font-size:.9rem}
  .tdps-page table.shop_table_responsive td.product-remove::before,.tdps-page table.shop_table_responsive td.product-thumbnail::before,.tdps-page table.shop_table_responsive td.actions::before{content:none}
  .tdps-page table.shop_table_responsive td.actions{display:block}
}
.cart-wa{text-align:center;margin-top:18px}
/* Mi cuenta */
.tdps-page-account .woocommerce{display:grid;grid-template-columns:240px minmax(0,1fr);gap:30px}
@media (max-width:860px){.tdps-page-account .woocommerce{grid-template-columns:1fr}}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.woocommerce-MyAccount-navigation a{display:flex;align-items:center;min-height:48px;padding:0 16px;border-radius:12px;background:var(--white);border:1px solid var(--fog-200);font-weight:700}
.woocommerce-MyAccount-navigation .is-active a{background:var(--ink);color:#fff;border-color:var(--ink)}
.woocommerce-form-login,.woocommerce-form-register{background:var(--white);border:1px solid var(--fog-200);border-radius:var(--r-lg);padding:22px;max-width:520px}

/* ── reseñas dentro de la ficha ── */
#reviews .commentlist{list-style:none;margin:0;padding:0}
#reviews .comment_container{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--fog-200)}
#reviews .avatar{width:44px;height:44px;border-radius:50%}
.star-rating{overflow:hidden;position:relative;height:1.1em;line-height:1;width:5.4em;font-family:sans-serif;font-size:.95rem;color:#F5A524}
.star-rating::before{content:"★★★★★";opacity:.25;position:absolute;top:0;left:0}
.star-rating span{overflow:hidden;position:absolute;top:0;left:0;padding-top:1.5em}
.star-rating span::before{content:"★★★★★";position:absolute;top:0;left:0}
#review_form input[type=text],#review_form input[type=email],#review_form textarea{width:100%;min-height:50px;border-radius:12px;border:2px solid var(--fog-200);padding:10px 14px;font-size:1rem}
#review_form .stars a{font-size:1.3rem;text-decoration:none}

/* ── crear un regalo ── */
.cr-name{margin-top:18px;max-width:560px}
.cr-name label{display:block;font-weight:800;margin-bottom:8px}
.cr-row{display:flex;gap:10px;flex-wrap:wrap}
.cr-row .fi{flex:1 1 220px}
.cr-live{max-width:340px;justify-self:end}
.cr-more{margin-top:26px;text-align:center}
@media (max-width:860px){.cr-live{display:none}}

/* ── presupuesto ── */
.wz-alert{grid-column:1 / -1;padding:14px 16px;border-radius:14px;background:#FEF2F2;color:#7F1D1D;border:1px solid #FBCACA;font-weight:700}
#qForm:not(.is-wizard) .step{display:block}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:560px){.choices{grid-template-columns:1fr}}
label.choice{cursor:pointer}
label.choice.is-sel{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink),0 10px 24px -14px rgba(11,12,14,.4)}
.adv-link{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-weight:700;text-decoration:underline;min-height:44px}

/* ── boletín ── */
.nl-band{background:var(--g-900,#16181B);color:#fff;padding:clamp(34px,4vw,56px) 0;border-top:1px solid rgba(255,255,255,.06)}
.nl-band .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 40px;align-items:center}
@media (max-width:860px){.nl-band .wrap{grid-template-columns:1fr}}
.nl-band h2{font-size:clamp(1.5rem,1.1rem + 1.4vw,2.2rem)}
.nl-band p{color:var(--steel-300);margin:8px 0 0}
.nl-form{display:flex;flex-wrap:wrap;gap:10px}
.nl-form .fi{flex:1 1 240px;min-height:56px}
.nl-form small{flex-basis:100%;color:var(--steel-400);font-size:.85rem}
.nl-form small a{text-decoration:underline}
.nl-msg{flex-basis:100%;font-weight:700}.nl-msg.ok{color:#4ade80}.nl-msg.err{color:#fca5a5}
body[data-world="personalizados"] .nl-band{background:#2A211A}

/* ── ajustes tras la primera revisión ── */
.tdps-page .cart-summary{display:none}      /* título duplicado que añade el tema en el carrito */
.tdps-preview .pv-note{top:14px;bottom:auto;left:auto;right:14px;max-width:44%;text-align:right;line-height:1.4}
@media (max-width:860px){
  .tdps-preview .pv-note{display:none}
  .pdp-band .crumbs > a:not(:first-child),.pdp-band .crumbs > span[aria-hidden]:nth-of-type(2){display:none}
}
body[data-world] .pc .btn-add.btn-add-go{background:transparent;color:var(--ink);border:2px solid var(--ink)}
body[data-world="personalizados"] .pc .btn-add.btn-add-go{color:#2A211A;border-color:#2A211A}
body[data-world] .pc .btn-add.btn-add-go:hover{background:var(--ink);color:#fff}
form.cart .single_add_to_cart_button{min-width:0;padding:0 14px}
@media (max-width:560px){
  form.cart .qty-btn{width:44px}
  form.cart .quantity .qty{width:46px}
  form.cart .single_add_to_cart_button{flex:1 1 140px;font-size:1rem}
  .tdps-buyform.has-perso{padding:14px 12px 4px}
}

/* ── compatibilidad: variables del diseño 3.9 que usan módulos de TDPS que siguen activos
      (bienvenida BIENVENIDA10, calculadora, mi cuenta, seguimiento, contacto…), traducidas a la paleta v4 ── */
:root{--tdps-orange:var(--red);--tdps-orange-dark:#b91c1c;--tdps-orange-light:#FEF2F2;--tdps-orange-glow:rgba(220,38,38,.15);--tdps-dark:var(--ink);--tdps-dark-2:#16181B;--tdps-dark-3:#2A2D33;
  --tdps-text:var(--ink);--tdps-text-2:#4A4F57;--tdps-text-3:var(--steel-500);--tdps-white:#fff;--tdps-bg:var(--paper);--tdps-bg-2:var(--fog-100);--tdps-border:var(--fog-200);
  --tdps-green:#16A34A;--tdps-green-light:#F0FDF4;--tdps-red:var(--red);--tdps-red-light:#FEF2F2;--tdps-whatsapp:var(--wa);--tdps-star:#F5A524;--tdps-radius:14px;--tdps-radius-sm:8px;--tdps-radius-lg:22px;--tdps-radius-xl:32px;
  --tdps-shadow-sm:0 1px 3px rgba(0,0,0,.06);--tdps-shadow:0 4px 16px rgba(0,0,0,.08);--tdps-shadow-lg:0 8px 30px rgba(0,0,0,.12);--tdps-shadow-orange:var(--sh-red);--tdps-transition:.25s var(--ease);--tdps-max-w:1280px;--tdps-font:var(--f-body)}
/* Ventana de bienvenida (BIENVENIDA10) con la letra y los colores v4 */
.tdps-popup .tdps-popup-box{border-radius:var(--r-lg)!important;font-family:var(--f-body)}
.tdps-popup .tdps-popup-title{font-family:var(--f-display)!important;font-weight:900!important;letter-spacing:-.02em}
.tdps-popup .tdps-popup-code span{font-family:var(--f-mono)!important}
.tdps-popup .tdps-popup-cta{border-radius:999px!important;background:var(--red)!important}
/* Bizum en la página de pedido recibido (módulo de pago de TDPS) */
.tdps-bizum-box{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px;border-radius:var(--r);background:var(--white);border:2px solid var(--fog-200)}
.tdps-bizum-text{display:flex;flex-direction:column;flex:1;min-width:200px}
.tdps-bizum-phone{font-family:var(--f-mono);font-size:1.4rem;font-weight:700}
.tdps-bizum-copy{min-height:48px;padding:0 18px;border-radius:999px;background:var(--ink);color:#fff;font-weight:800}
.tdps-page-cart .kadence-woo-cart-form-wrap{display:contents}
@media (min-width:981px){
  .tdps-page-checkout form.checkout{grid-template-rows:auto 1fr}
  .tdps-page-checkout #customer_details{grid-row:1 / span 2}
  .tdps-page-checkout #order_review_heading{grid-row:1;align-self:start}
  .tdps-page-checkout #order_review{grid-row:2;align-self:start}
}
/* Aviso de envío gratis en carrito y pago */
.tdps-free-row td{padding:12px 0!important;border:0!important}
.tdps-free{padding:12px 14px;border-radius:12px;background:#ECFDF3;border:1px solid #B7EBCB;color:#064E2B;font-size:.95rem;line-height:1.4}
.tdps-free .bar{display:block;height:6px;border-radius:3px;background:rgba(6,78,43,.12);overflow:hidden;margin-top:8px}
.tdps-free .bar i{display:block;height:100%;background:var(--ok)}

/* ── v5.1 · Contraste del mundo «Piezas de coche» (01-11-2026) ─────────────────────────────────────────────────────
   Causa: el tema Kadence pinta h1–h6 con su color de títulos (#1A1A1A, --global-palette3). La v5 contaba con que los
   títulos heredasen el color de su sección; en las secciones OSCURAS de Piezas de coche (ficha, cabecera de categoría,
   valoraciones, boletín) quedaban casi negros sobre negro. Todo va limitado a body[data-world="coche"]:
   el mundo Personalizados no cambia. Solo color de texto; nada de tamaños, fondos ni maquetación. */
body.tdps-v4[data-world="coche"] :is(h1,h2,h3,h4,h5,h6){color:inherit}
body.tdps-v4[data-world="coche"] :is(.pdp-band,.cat-hero,.nl-band,.help-band) :is(h1,h2,h3,h4){color:#fff}
/* textos secundarios sobre fondo oscuro: gris claro legible (antes --steel-500, 3,8:1) */
body.tdps-v4[data-world="coche"] :is(.pdp-band,.cat-hero,.c-hero,.c-cars-sec,.c-make) .eyebrow,
body.tdps-v4[data-world="coche"] .pdp-band :is(.buy-meta,.buy-meta a,.pc-rate),
body.tdps-v4[data-world="coche"] .ftr :is(.ftr-cols h4,.ftr-bottom,.ftr-bottom span){color:var(--steel-400)}
/* valoraciones: estrellas en el amarillo de la v5 (antes rojo muy oscuro sobre negro) */
body.tdps-v4[data-world="coche"] .pdp-band .star-rating span{color:var(--star,#F5A524)}
/* recuadros informativos de las descripciones (fondo claro puesto en el propio texto): letra oscura */
body.tdps-v4[data-world="coche"] .pdp-band .acc-b [style*="background:#"]{color:#1F2329}
body.tdps-v4[data-world="coche"] .pdp-band .acc-b [style*="background:#"] *{color:inherit}
/* opinión destacada sobre fondo rojo (página Piezas de coche) */
body.tdps-v4[data-world="coche"] .c-quote p,body.tdps-v4[data-world="coche"] .c-quote p b,body.tdps-v4[data-world="coche"] .c-cars .car.ask p{color:#fff}
/* textos pequeños grises sobre fondo claro (tarjetas y «Lo que más se pide») */
body.tdps-v4[data-world="coche"] .pc :is(.pc-cat,.pc-rate),body.tdps-v4[data-world="coche"] .c-best .eyebrow{color:var(--g-600)}
/* etiquetas rojas pequeñas («01», «Paso 1», «Top»): el mismo rojo, un punto más claro sobre oscuro y más oscuro sobre claro (los precios no cambian) */
body.tdps-v4[data-world="coche"] :is(.pdp-band,.cat-hero,.c-hero,.c-cars-sec,.c-make) .eyebrow b{color:#EF4444}
body.tdps-v4[data-world="coche"] .c-best .eyebrow b{color:#B91C1C}

/* ── v5.1 · Contraste en Personalizados (01-11-2026): SOLO dos elementos, limitados a body[data-world="personalizados"] ──
   1) Título del boletín «Ofertas y novedades del taller»: el tema Kadence lo pintaba #1A1A1A sobre el marrón oscuro (#2A211A).
   2) Etiquetas del pie (títulos de columna, formas de pago, ©): gris --steel-500 sobre el pie oscuro (3,4:1) → --steel-400. */
body.tdps-v4[data-world="personalizados"] .nl-band :is(h2,h3){color:#fff}
body.tdps-v4[data-world="personalizados"] .ftr :is(.ftr-cols h4,.ftr-bottom,.ftr-bottom span){color:var(--steel-400)}

/* ── v5.2 · Portada y contrastes menores de Personalizados (02-11-2026). Mismos colores, un tono más oscuro (o más claro sobre fondo oscuro) ──
   Portada: el tema Kadence pintaba #1A1A1A el título «Piezas de coche» sobre la foto oscura → blanco, como el resto de esa puerta. */
body.tdps-v4[data-world="entrada"] .gate-door.g-car .g-body h2{color:#fff}
/* Personalizados (solo body[data-world="personalizados"]) */
body.tdps-v4[data-world="personalizados"] .stock{color:#15803D}
body.tdps-v4[data-world="personalizados"] .ph-eyebrow,body.tdps-v4[data-world="personalizados"] .progress li:not(.is-on,.is-done){color:#5A5F68}
body.tdps-v4[data-world="personalizados"] :is(.ph-eyebrow,.sec-head .eyebrow) b{color:#C81E1E}
body.tdps-v4[data-world="personalizados"] .p-make .eyebrow{color:var(--steel-400)}
body.tdps-v4[data-world="personalizados"] .p-make .eyebrow b{color:#F87171}
body.tdps-v4[data-world="personalizados"] .p-live-card .mono{color:#6F6253}
body.tdps-v4[data-world="personalizados"] .pact-main small{color:#fff}
body.tdps-v4[data-world="personalizados"] #nfc-mascota-campos h3{color:#EA580C!important}
body.tdps-v4[data-world="personalizados"] p.form-row small{color:#6B6B6B!important}
/* Página antigua /portada/ (neutra: toma el mundo del visitante): bloque «Portada» de WordPress con fondo BLANCO y texto blanco por defecto → texto oscuro.
   Solo ese patrón (fondo blanco y sin foto ni vídeo); no afecta a ninguna otra parte de la web. */
body.tdps-v4 .wp-block-cover.has-white-background-color:not(:has(.wp-block-cover__image-background,.wp-block-cover__video-background)) .wp-block-cover__inner-container{color:#15171B}
