/* ==========================================================================
   QBP Storefront · Ambiente "Estudio de diseño"
   Papel claro, reglas, guías y cuadrícula de puntos, botones tipo sticker.
   Todo acotado a body.qbpsf-studio (catálogo, producto, carrito, pago y cuenta).
   ========================================================================== */
body.qbpsf-studio{
  --qs-paper:#F3F0E8; --qs-ink:#15171A; --qs-muted:#63625B; --qs-line:#E3DDD0; --qs-line2:#CFC7B6;
  --qs-lime:#D4F36B; --qs-olive:#3F6A00; --qs-blue:#2F6BFF; --qs-pink:#FF4D8D; --qs-cyan:#12B8E0;
  background:
    radial-gradient(1100px 620px at 92% -6%, #EAF8C6 0%, rgba(234,248,198,0) 62%),
    radial-gradient(900px 560px at -12% 30%, #DCE9FF 0%, rgba(220,233,255,0) 60%),
    var(--qs-paper) !important;
  background-attachment:fixed !important;
  color:var(--qs-ink);
  font-family:var(--qbpsf-font-body);
}
body.qbpsf-studio .qbpsf-sky-layer{display:none!important}
body.qbpsf-studio .qbpsf-wrap::after{opacity:.05!important;mix-blend-mode:multiply!important}

/* ---- capa: regla lateral, cuadrícula de puntos y guías ---- */
.qbpsf-studio-layer{position:fixed;inset:0;z-index:-1;pointer-events:none}
.qbpsf-studio-layer::before{content:"";position:absolute;inset:0 0 0 20px;
  background-image:radial-gradient(rgba(21,23,26,.14) 1px,transparent 1.3px);background-size:24px 24px;
  -webkit-mask-image:linear-gradient(#000 40%,rgba(0,0,0,.35));mask-image:linear-gradient(#000 40%,rgba(0,0,0,.35))}
.qbpsf-studio-layer .qs-rx{position:absolute;left:0;right:0;top:0;height:20px;border-bottom:1px solid var(--qs-line);
  background:
    repeating-linear-gradient(90deg,rgba(21,23,26,.42) 0 1px,transparent 1px 100px) left bottom/100% 11px no-repeat,
    repeating-linear-gradient(90deg,rgba(21,23,26,.22) 0 1px,transparent 1px 10px) left bottom/100% 5px no-repeat,#FBFAF6}
.qbpsf-studio-layer .qs-ry{position:absolute;left:0;top:20px;bottom:0;width:20px;border-right:1px solid var(--qs-line);
  background:
    repeating-linear-gradient(180deg,rgba(21,23,26,.42) 0 1px,transparent 1px 100px) right top/11px 100% no-repeat,
    repeating-linear-gradient(180deg,rgba(21,23,26,.22) 0 1px,transparent 1px 10px) right top/5px 100% no-repeat,#FBFAF6}
.qs-measure{position:absolute;top:3px;left:max(20px,calc(50% - var(--qbpsf-max,1200px) / 2));right:max(0px,calc(50% - var(--qbpsf-max,1200px) / 2));display:flex;align-items:center;gap:6px}
.qs-measure i{flex:1;height:1px;background:var(--qs-pink)}
.qs-measure b{font:700 9.5px/1 "Manrope",sans-serif;color:#fff;background:var(--qs-pink);padding:2px 5px;border-radius:4px}
.qs-g{position:absolute;top:20px;bottom:0;width:0;border-left:1px dashed rgba(255,77,141,.35)}
.qs-g.g1{left:max(20px,calc(50% - var(--qbpsf-max,1200px) / 2))}
.qs-g.g2{right:max(0px,calc(50% - var(--qbpsf-max,1200px) / 2))}
body.admin-bar .qbpsf-studio-layer{top:32px}

/* ---- títulos y textos ---- */
body.qbpsf-studio h1,body.qbpsf-studio h2,body.qbpsf-studio h3,
body.qbpsf-studio .entry-title,body.qbpsf-studio .qbpsf-title{font-family:var(--qbpsf-font-head);color:var(--qs-ink);letter-spacing:-.03em}
body.qbpsf-studio .entry-title,body.qbpsf-co .entry-title{font-weight:800!important;font-size:clamp(34px,5vw,64px)!important;line-height:1!important}
body.qbpsf-studio .entry-title::after{content:"";display:block;width:64px;height:8px;margin-top:14px;border-radius:3px;background:var(--qs-lime);box-shadow:0 0 0 1.5px var(--qs-ink)}
body.qbpsf-studio .qbpsf-masthead h1{font-weight:800}
body.qbpsf-studio .qbpsf-masthead h1 span{color:var(--qs-ink)!important;-webkit-text-stroke:0!important;background:linear-gradient(transparent 58%,var(--qs-lime) 58% 90%,transparent 90%);padding:0 .06em}
body.qbpsf-studio .qbpsf-masthead .qbpsf-glow{display:none}
body.qbpsf-studio .qbpsf-tagline,body.qbpsf-studio .qbpsf-eyebrow{color:var(--qs-olive)}
body.qbpsf-studio .qbpsf-tagline::before,body.qbpsf-studio .qbpsf-eyebrow::before{background:var(--qs-olive)}
body.qbpsf-studio a{color:inherit}
body.qbpsf-studio .woocommerce a:not(.button):not(.remove),body.qbpsf-studio .qbpsf-prose a{color:var(--qs-blue)!important;text-decoration-color:rgba(47,107,255,.35)}

/* ---- botones tipo sticker ---- */
body.qbpsf-studio .qbpsf-wrap .single_add_to_cart_button,
body.qbpsf-studio .qbpsf-wrap .qbpsf-btn:not(.ghost),
body.qbpsf-studio .woocommerce .checkout-button,
body.qbpsf-studio .woocommerce #place_order,
body.qbpsf-studio .woocommerce button.button,
body.qbpsf-studio .woocommerce a.button,
body.qbpsf-studio .woocommerce input.button,
body.qbpsf-studio .wc-block-components-button:not(.is-link),
body.qbpsf-studio .qbpsf-wrap li.product .button{
  background:var(--qs-lime)!important;color:#172006!important;border:1.5px solid var(--qs-ink)!important;
  border-radius:12px!important;box-shadow:3px 3px 0 var(--qs-ink)!important;clip-path:none!important;
  font-family:var(--qbpsf-font-body)!important;font-weight:800!important;letter-spacing:0!important;text-transform:none!important;
  transition:transform .15s,box-shadow .15s,background .15s!important}
body.qbpsf-studio .qbpsf-wrap .single_add_to_cart_button:hover,
body.qbpsf-studio .qbpsf-wrap .qbpsf-btn:not(.ghost):hover,
body.qbpsf-studio .woocommerce .checkout-button:hover,
body.qbpsf-studio .woocommerce #place_order:hover,
body.qbpsf-studio .woocommerce button.button:hover,
body.qbpsf-studio .woocommerce a.button:hover,
body.qbpsf-studio .wc-block-components-button:not(.is-link):hover,
body.qbpsf-studio .qbpsf-wrap li.product .button:hover{background:#E3FF84!important;transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--qs-ink)!important}
body.qbpsf-studio .qbpsf-wrap .single_add_to_cart_button::before{display:none!important}
body.qbpsf-studio .woocommerce #place_order,body.qbpsf-studio .woocommerce .checkout-button{font-size:17px!important;padding:17px 22px!important}
body.qbpsf-studio .qbpsf-wrap .qbpsf-btn.ghost,body.qbpsf-studio .woocommerce .button.alt-ghost{background:#fff!important;color:var(--qs-ink)!important;border:1.5px solid var(--qs-line2)!important;box-shadow:none!important;border-radius:12px!important}
body.qbpsf-studio .woocommerce table.cart td.actions > .button,
body.qbpsf-studio .woocommerce .coupon .button{background:#fff!important;box-shadow:none!important;border-color:var(--qs-line2)!important;color:var(--qs-ink)!important}

/* ---- tarjetas: mesas de trabajo blancas ---- */
body.qbpsf-studio .qbpsf-wrap li.product,
body.qbpsf-studio .qbpsf-pricebox,
body.qbpsf-studio .qbpsf-hero-prod,
body.qbpsf-studio .qbpsf-co-card,
body.qbpsf-studio.qbpsf-co #order_review,
body.qbpsf-studio.qbpsf-co #customer_details,
body.qbpsf-studio.qbpsf-co .cart_totals,
body.qbpsf-studio.qbpsf-co .woocommerce-cart-form,
body.qbpsf-studio.qbpsf-co .woocommerce-MyAccount-content,
body.qbpsf-studio.qbpsf-co .woocommerce-order,
body.qbpsf-studio.qbpsf-co form.login,body.qbpsf-studio.qbpsf-co form.register{
  background:#fff!important;border:1px solid var(--qs-line)!important;border-radius:22px!important;
  box-shadow:0 1px 0 var(--qs-line),0 30px 60px -44px rgba(21,23,26,.45)!important;backdrop-filter:none!important}
body.qbpsf-studio .qbpsf-wrap li.product:hover{border-color:#B9D46A!important;box-shadow:0 30px 60px -30px rgba(21,23,26,.45)!important}
body.qbpsf-studio .qbpsf-lamp,body.qbpsf-studio .qbpsf-halo{display:none!important}

/* imagen vacía del producto = mesa de trabajo con cuadrícula */
body.qbpsf-studio .qbpsf-stage-blank,body.qbpsf-studio .qbpsf-plate,body.qbpsf-studio .qbpsf-media,body.qbpsf-studio .qbpsf-hero-visual,body.qbpsf-studio .qbpsf-stage{
  background:linear-gradient(160deg,#CFE1FF 0%,#E6F4C6 100%)!important}
body.qbpsf-studio .qbpsf-stage-blank::before,body.qbpsf-studio .qbpsf-plate::before{
  background-image:linear-gradient(rgba(255,255,255,.6) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.6) 1px,transparent 1px)!important;
  background-size:28px 28px!important;opacity:1!important;-webkit-mask-image:none!important;mask-image:none!important}
body.qbpsf-studio .qbpsf-glyph{color:var(--qs-ink)!important;filter:none!important}
body.qbpsf-studio .qbpsf-glyph svg{stroke:var(--qs-ink)!important}
body.qbpsf-studio .qbpsf-tag,body.qbpsf-studio .qbpsf-wrap span.onsale{background:var(--qs-pink)!important;color:#fff!important;border:0!important}
body.qbpsf-studio .qbpsf-idx{color:var(--qs-blue)!important;font-family:var(--qbpsf-font-mono)}
body.qbpsf-studio .qbpsf-price .amount,body.qbpsf-studio .qbpsf-p .amount{color:var(--qs-ink)!important;font-family:var(--qbpsf-font-head)}
body.qbpsf-studio .qbpsf-chip{background:#fff;border-color:var(--qs-line2)!important;color:var(--qs-ink)!important}
body.qbpsf-studio .qbpsf-chip.on{background:var(--qs-ink)!important;color:#fff!important;border-color:var(--qs-ink)!important}
body.qbpsf-studio .qbpsf-assure li::before{background:var(--qs-olive)!important}
body.qbpsf-studio .qbpsf-crumbs{color:var(--qs-muted)}

/* ---- formularios ---- */
body.qbpsf-studio .woocommerce input.input-text,body.qbpsf-studio .woocommerce input[type=text],body.qbpsf-studio .woocommerce input[type=email],
body.qbpsf-studio .woocommerce input[type=tel],body.qbpsf-studio .woocommerce input[type=password],body.qbpsf-studio .woocommerce input[type=number],
body.qbpsf-studio .woocommerce textarea,body.qbpsf-studio .woocommerce select,
body.qbpsf-studio .woocommerce .select2-container .select2-selection--single,
body.qbpsf-studio .wc-block-components-text-input input,body.qbpsf-studio .wc-blocks-components-select__select{
  background:#FBFAF6!important;color:var(--qs-ink)!important;border:1.5px solid var(--qs-line)!important;border-radius:12px!important;box-shadow:none!important}
body.qbpsf-studio .woocommerce input:focus,body.qbpsf-studio .woocommerce textarea:focus,body.qbpsf-studio .woocommerce select:focus,
body.qbpsf-studio .wc-block-components-text-input input:focus{border-color:var(--qs-blue)!important;box-shadow:0 0 0 3px rgba(47,107,255,.15)!important;background:#fff!important;outline:0}
body.qbpsf-studio .woocommerce label{color:var(--qs-ink)!important;font-weight:700}
body.qbpsf-studio .woocommerce .required{color:var(--qs-pink)!important}
body.qbpsf-studio .woocommerce form .form-row .description{color:var(--qs-muted)!important;background:none!important}

/* ---- tablas y resumen ---- */
body.qbpsf-studio .woocommerce table.shop_table{background:transparent!important;border-color:var(--qs-line)!important}
body.qbpsf-studio .woocommerce table.shop_table th,body.qbpsf-studio .woocommerce table.shop_table td{border-color:var(--qs-line)!important;color:var(--qs-ink)!important}
body.qbpsf-studio .woocommerce table.shop_table thead th{color:var(--qs-muted)!important;font-family:var(--qbpsf-font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
body.qbpsf-studio .woocommerce table.shop_table .order-total td,body.qbpsf-studio .woocommerce table.shop_table .order-total th{font-family:var(--qbpsf-font-head);font-size:22px}
body.qbpsf-studio .woocommerce table.shop_table .order-total .amount{background:linear-gradient(transparent 55%,var(--qs-lime) 55% 92%,transparent 92%);padding:0 .1em}
body.qbpsf-studio #order_review_heading,body.qbpsf-studio .cart_totals h2,body.qbpsf-studio .woocommerce-billing-fields > h3{font-family:var(--qbpsf-font-head)!important;font-weight:800!important;letter-spacing:-.02em;color:var(--qs-ink)!important}
body.qbpsf-studio .woocommerce table.cart .product-remove a.remove{color:var(--qs-pink)!important;border:1.5px solid var(--qs-line2);background:#fff!important}

/* ---- medios de pago ---- */
body.qbpsf-studio #payment,body.qbpsf-studio.qbpsf-co #payment{background:transparent!important;border:0!important}
body.qbpsf-studio #payment ul.payment_methods li{background:#FBFAF6!important;border:1.5px solid var(--qs-line)!important;border-radius:14px!important;color:var(--qs-ink)!important}
body.qbpsf-studio #payment ul.payment_methods li:has(input:checked){border-color:var(--qs-ink)!important;background:#F2FBD6!important;box-shadow:3px 3px 0 var(--qs-ink)}
body.qbpsf-studio #payment ul.payment_methods li > label{color:var(--qs-ink)!important;font-weight:800}
body.qbpsf-studio #payment div.payment_box{background:#fff!important;color:var(--qs-muted)!important;border:1px solid var(--qs-line)!important}
body.qbpsf-studio #payment div.payment_box::before{display:none!important}
body.qbpsf-studio .woocommerce-privacy-policy-text p,body.qbpsf-studio .woocommerce-terms-and-conditions-wrapper{color:var(--qs-muted)!important}

/* ---- avisos ---- */
body.qbpsf-studio .woocommerce-message,body.qbpsf-studio .woocommerce-info,body.qbpsf-studio .woocommerce-error,
body.qbpsf-studio .wc-block-components-notice-banner{background:#fff!important;color:var(--qs-ink)!important;border:1.5px solid var(--qs-ink)!important;border-left-width:6px!important;border-radius:14px!important;box-shadow:3px 3px 0 var(--qs-ink)!important}
body.qbpsf-studio .woocommerce-message{border-left-color:#7CB518!important}
body.qbpsf-studio .woocommerce-info{border-left-color:var(--qs-blue)!important}
body.qbpsf-studio .woocommerce-error{border-left-color:var(--qs-pink)!important}
body.qbpsf-studio .woocommerce-message::before,body.qbpsf-studio .woocommerce-info::before{color:var(--qs-olive)!important}

/* ---- mi cuenta ---- */
body.qbpsf-studio .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:10px;background:#fff;border:1px solid var(--qs-line);border-radius:22px;display:grid;gap:4px}
body.qbpsf-studio .woocommerce-MyAccount-navigation li a{display:block;padding:11px 14px;border-radius:12px;color:var(--qs-ink)!important;text-decoration:none!important;font-weight:700;border:1.5px solid transparent}
body.qbpsf-studio .woocommerce-MyAccount-navigation li a:hover{background:#F6F3EC}
body.qbpsf-studio .woocommerce-MyAccount-navigation li.is-active a{background:var(--qs-lime);border-color:var(--qs-ink);box-shadow:3px 3px 0 var(--qs-ink)}
body.qbpsf-studio .woocommerce-MyAccount-content{padding:clamp(18px,3vw,32px)!important}
body.qbpsf-studio .woocommerce-MyAccount-content mark{background:linear-gradient(transparent 55%,var(--qs-lime) 55% 92%,transparent 92%);color:inherit}

/* ---- bloques de WooCommerce (carrito y pago nuevos) ---- */
body.qbpsf-studio .wc-block-cart,body.qbpsf-studio .wc-block-checkout{color:var(--qs-ink)}
body.qbpsf-studio .wc-block-components-sidebar,body.qbpsf-studio .wp-block-woocommerce-checkout-order-summary-block,body.qbpsf-studio .wc-block-cart__sidebar .wc-block-components-panel{background:#fff;border:1px solid var(--qs-line);border-radius:22px;padding:18px}
body.qbpsf-studio .wc-block-components-radio-control-accordion-option{border-radius:14px;background:#FBFAF6}
body.qbpsf-studio .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-family:var(--qbpsf-font-head);font-size:22px}

@media (max-width:760px){
  .qbpsf-studio-layer .qs-ry,.qs-g{display:none}
  .qbpsf-studio-layer::before{left:0}
  .qs-measure{left:14px;right:14px}
}

/* ajustes finos */
body.qbpsf-studio .qbpsf-pricebox{padding:22px!important}
body.qbpsf-studio.qbpsf-co #customer_details,body.qbpsf-studio.qbpsf-co #order_review,body.qbpsf-studio.qbpsf-co .cart_totals{padding:clamp(18px,2.4vw,28px)!important}
body.qbpsf-studio.qbpsf-co #customer_details .col-1,body.qbpsf-studio.qbpsf-co #customer_details .col-2{padding:0!important;background:none!important;border:0!important}
html body.qbpsf-studio.qbpsf-co .woocommerce-MyAccount-navigation a,
body.qbpsf-studio .woocommerce .woocommerce-MyAccount-navigation li a,
body.qbpsf-studio .woocommerce .woocommerce-MyAccount-navigation li.is-active a{color:var(--qs-ink)!important;text-decoration:none!important}
body.qbpsf-studio .qbpsf-masthead h1{text-transform:none!important;letter-spacing:-.04em!important}
body.qbpsf-studio .qbpsf-masthead h1 span{display:inline!important;-webkit-box-decoration-break:clone;box-decoration-break:clone}
body.qbpsf-studio .qbpsf-stage-blank::after{content:"";position:absolute;left:50%;top:50%;width:34%;aspect-ratio:1;transform:translate(-50%,-50%) rotate(-8deg);border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#F3FFC4,#D4F36B 55%,#9BC53D);border:2px solid var(--qs-ink);box-shadow:6px 6px 0 var(--qs-ink)}
body.qbpsf-studio .qbpsf-stage-blank .qbpsf-glyph,body.qbpsf-studio .qbpsf-media .qbpsf-glyph{position:relative;z-index:2}
body.qbpsf-studio .woocommerce nav.woocommerce-MyAccount-navigation a:not(.button):not(.remove){color:var(--qs-ink)!important;text-decoration:none!important}
body.qbpsf-studio .qbpsf-media .qbpsf-stage-blank{position:absolute;inset:0;display:grid;place-items:center}
body.qbpsf-studio .qbpsf-media .qbpsf-stage-blank::after{width:30%}
body.qbpsf-studio .qbpsf-media .qbpsf-plate::after{content:"";position:absolute;left:50%;top:50%;width:30%;aspect-ratio:1;transform:translate(-50%,-50%) rotate(-8deg);border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#F3FFC4,#D4F36B 55%,#9BC53D);border:2px solid var(--qs-ink);box-shadow:5px 5px 0 var(--qs-ink);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
body.qbpsf-studio .qbpsf-wrap li.product:hover .qbpsf-plate::after{transform:translate(-50%,-50%) rotate(8deg) scale(1.06)}
body.qbpsf-studio .qbpsf-media .qbpsf-glyph{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;z-index:3;margin:0!important}
body.qbpsf-studio .qbpsf-media .qbpsf-glyph svg{width:34px;height:34px}
html:has(body.qbpsf-studio){background:#F3F0E8!important}
body.qbpsf-studio.qbpsf-co .woocommerce-order{padding:clamp(18px,3vw,32px)!important}
body.qbpsf-studio .woocommerce-order-overview{background:#FBFAF6!important;border:1px solid var(--qs-line)!important;border-radius:16px!important}
body.qbpsf-studio .woocommerce-order-overview li{background:transparent!important;border-color:var(--qs-line)!important;color:var(--qs-muted)!important}
body.qbpsf-studio .woocommerce-order-overview li strong{color:var(--qs-ink)!important}
body.qbpsf-studio .woocommerce-order-overview li:empty,body.qbpsf-studio .woocommerce-order-overview::before{display:none!important}
body.qbpsf-studio .woocommerce-info{display:block!important}
body.qbpsf-studio .woocommerce-customer-details address{background:#FBFAF6!important;border:1px solid var(--qs-line)!important;border-radius:16px!important;color:var(--qs-ink)!important}
body.qbpsf-studio .woocommerce-thankyou-order-received{font-family:var(--qbpsf-font-head);font-weight:800;letter-spacing:-.02em;color:var(--qs-ink)}
