/* Fichas: distribución, tamaños y paleta de la ficha original de Ajo Negro. */
body:has(.product-page){background:#fff}.product-page{--green:#8a8f7a;--green-2:#7a806b;--green-4:#5f6554;--green-5:#4f5446;--texto-prod:#111827;width:min(1200px,calc(100% - 40px));font-family:Montserrat,Arial,Helvetica,sans-serif;color:var(--texto-prod)}
.product-page>.back{margin-top:12px}.pd-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:26px;margin:65px 0 55px;padding:26px 16px}.pd-left{position:relative;min-height:620px;background:transparent}.pd-gallery{height:620px;padding:18px 16px;background:radial-gradient(circle at center,rgba(138,143,122,.12),transparent 70%);border-radius:20px;overflow:visible}.pd-gallery>img{width:min(520px,92%);height:590px;object-fit:contain;filter:drop-shadow(0 20px 35px #00000040) brightness(1.02);mix-blend-mode:multiply}.pd-arrow{top:50%;transform:translateY(-50%);color:#5f6554;border-color:#8a8f7a4d;box-shadow:0 10px 18px #0f172a14}.pd-caption{position:absolute;left:16px;top:594px;margin:0;bottom:auto;background:#ffffffcc;border:1px solid #15803d29;border-radius:999px;padding:10px 12px;font-weight:900;letter-spacing:.06em;color:#5f6554;box-shadow:0 10px 18px #0f172a14;z-index:2}.pd-caption:before{content:"";display:inline-block;width:10px;height:10px;margin-right:10px;border-radius:50%;background:#8a8f7a;box-shadow:0 0 0 5px #16a34a14}.pd-thumbs{display:none}.pd-right>.eyebrow{display:none}.pd-quantity label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.pd-chips span{background:#ffffffb8}.pd-cta{background:linear-gradient(90deg,#8a8f7a,#7a806b);padding:12px 14px;font-size:15px;letter-spacing:.04em;border-radius:14px;min-height:46px}.pd-tabs button{border-bottom:0}.pd-tabs button[aria-selected=true]{border-bottom:0}.pd-original{margin-top:25px}.pd-gallery.liquid-gallery{height:440px;background:radial-gradient(circle at center,var(--soft),#fff 75%);border:0}.pd-gallery.liquid-gallery>img{height:350px;mix-blend-mode:normal}.pd-left:has(.liquid-gallery){min-height:480px}.pd-left:has(.liquid-gallery) .pd-caption{top:420px}.pd-right h1{overflow-wrap:break-word}
    .pd-right{ padding:6px 2px 2px; }

    .pd-right h1{
      font-size:54px;
      line-height:1;
      font-weight:800;
      letter-spacing:.12em;
      text-transform:uppercase;
      color:var(--green-4);
      margin-bottom:10px;
    }

    .pd-subline{
      font-size:12px;
      font-weight:700;
      letter-spacing:.22em;
      text-transform:uppercase;
      color:rgba(17,24,39,.70);
      margin-bottom:14px;
    }

    .pd-price-row{
      display:flex;
      align-items:baseline;
      gap:12px;
      flex-wrap:wrap;
      margin:6px 0 14px;
    }

    .pd-price{
      font-size:46px;
      font-weight:800;
      letter-spacing:.02em;
      color:var(--green-5);
    }

    .pd-price small{
      font-size:16px;
      font-weight:700;
      letter-spacing:.18em;
      opacity:.85;
      margin-left:6px;
    }

    .pd-badge{
      font-size:13px;
      font-weight:700;
      color:rgba(17,24,39,.75);
    }

    .pd-desc{
      color:rgba(17,24,39,.82);
      font-size:16px;
      line-height:1.75;
      margin-bottom:14px;
    }

    .pd-chips{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin:12px 0 18px;
    }

    .pd-chips span{
      border:1px solid rgba(138,143,122,.28);
      background:rgba(255,255,255,.72);
      color:var(--green-4);
      padding:10px 18px;
      border-radius:999px;
      font-weight:700;
      font-size:14px;
      letter-spacing:.02em;
      user-select:none;
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.50);
    }

    .pd-chips span:first-child{
      border-color:rgba(138,143,122,.42);
      background:rgba(138,143,122,.16);
    }

    .pd-quantity{
      display:flex;
      align-items:center;
      gap:12px;
      margin:10px 0 16px;
    }

    .pd-quantity button{
      width:46px;
      height:46px;
      border-radius:14px;
      border:1px solid rgba(138,143,122,.30);
      background:rgba(255,255,255,.88);
      color:var(--green-4);
      font-weight:700;
      font-size:20px;
      cursor:pointer;
      transition:transform .12s ease, filter .12s ease;
      box-shadow:0 10px 18px rgba(15,23,42,.08);
    }
    .pd-quantity button:hover{ transform:translateY(-1px); filter:brightness(1.02); }

    .pd-quantity input{
      width:86px;
      height:46px;
      border-radius:14px;
      border:1px solid rgba(138,143,122,.28);
      background:rgba(255,255,255,.70);
      color:var(--green-5);
      font-weight:700;
      font-size:16px;
      text-align:center;
      outline:none;
    }

    .pd-cta{
      width:100%;
      border:none;
      cursor:pointer;
      padding:18px 18px;
      border-radius:18px;
      font-size:20px;
      font-weight:700;
      letter-spacing:.06em;
      text-transform:uppercase;
      color:#fff;
      background:linear-gradient(90deg, var(--green), var(--green-2));
      box-shadow:0 18px 34px rgba(15,23,42,.12);
      margin-top:8px;
      transition:transform .12s ease, filter .12s ease;
      display:block;
      text-align:center;
      text-decoration:none;
    }
    .pd-cta:hover{ transform:translateY(-1px); filter:brightness(1.02); }

    .pd-cta.is-back{
      padding:12px 14px;
      font-size:15px;
      letter-spacing:.04em;
      border-radius:14px;
    }

    .pd-tabs{
      margin-top:16px;
      border-bottom:1px solid rgba(138,143,122,.28);
      display:flex;
      gap:18px;
      flex-wrap:wrap;
    }

    .pd-tabs button{
      border:none;
      background:none;
      color:rgba(17,24,39,.65);
      font-weight:700;
      padding:10px 8px;
      cursor:pointer;
      letter-spacing:.02em;
      position:relative;
      font-family:inherit;
    }

    .pd-tabs button[aria-selected=true]{ color:var(--green-5); }

    .pd-tabs button[aria-selected=true]::after{
      content:"";
      position:absolute;
      left:0;
      right:0;
      bottom:-1px;
      height:3px;
      border-radius:999px;
      background:linear-gradient(90deg, var(--green), var(--green-2));
    }

    .pd-panel{
      padding:16px 0 0;
      color:rgba(17,24,39,.82);
      line-height:1.75;
      font-size:15px;
      min-height:92px;
    }


.pd-right h1{margin:0 0 10px}.pd-subline{margin-top:0}.pd-price{margin:22px 0 14px}.pd-desc{margin:18px 0 14px}.pd-chips span:first-child{border-color:#8a8f7a6b;background:#8a8f7a29}.pd-quantity input{max-width:86px}.pd-tabs button{font-size:13px}.pd-cta{font-size:15px;padding:12px 14px;border-radius:14px;letter-spacing:.04em;background:linear-gradient(90deg,#8a8f7a,#7a806b)}
@media(max-width:1000px){.pd-layout{gap:24px;padding:20px 0;margin-top:38px}.pd-left{min-height:530px}.pd-gallery{height:530px}.pd-gallery>img{height:500px}.pd-caption{top:504px;font-size:10px}.pd-right h1{font-size:38px;letter-spacing:.08em}.pd-chips span{font-size:12px;padding:9px 12px}.pd-tabs{gap:8px}.pd-tabs button{padding:12px 2px;font-size:12px}}
@media(max-width:760px){.pd-layout{grid-template-columns:minmax(0,1fr);margin-top:10px;gap:35px}.pd-left{min-height:420px;max-width:500px}.pd-gallery{height:420px}.pd-gallery>img{height:390px;width:92%}.pd-caption{top:390px;font-size:10px;left:12px}.pd-right h1{font-size:clamp(30px,7vw,40px);letter-spacing:.08em}.pd-subline{font-size:10px;letter-spacing:.15em}.pd-price{font-size:36px}.pd-desc{font-size:15px}.pd-tabs{gap:12px;flex-wrap:nowrap}.pd-tabs button{flex:1;font-size:11px;padding:13px 2px}.pd-panel{font-size:14px}.pd-gallery.liquid-gallery{height:360px}.pd-gallery.liquid-gallery>img{height:290px}.pd-left:has(.liquid-gallery){min-height:410px}.pd-left:has(.liquid-gallery) .pd-caption{top:340px}}
@media(max-width:359px){.pd-gallery{height:360px}.pd-gallery>img{height:330px}.pd-left{min-height:365px}.pd-caption{top:335px}.pd-tabs{gap:5px}.pd-right h1{font-size:29px}.pd-chips span{font-size:11px}}
.pd-arrow{position:absolute;z-index:3;display:grid;place-items:center;width:44px;height:44px;border:1px solid #8a8f7a4d;border-radius:14px;background:#fffffff0;font-size:24px}.pd-arrow.prev{left:12px}.pd-arrow.next{right:12px}.pd-caption{pointer-events:none;width:max-content;max-width:calc(100% - 32px)}.pd-related{display:block;padding:12px 0;color:#5f6554;font-weight:700}
.pd-layout{display:grid;align-items:start}.pd-left,.pd-right{min-width:0}.pd-gallery{position:relative;display:flex;align-items:center;justify-content:center}.pd-quantity{display:flex;align-items:center}.pd-quantity button{flex-shrink:0}.pd-right h1{line-height:1.08}.pd-panel[hidden]{display:none}

/* Productos relacionados con fotografías y acceso a sus fichas. */
.pd-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pd-related-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--related-border);border-radius:16px;overflow:hidden;background:white;transition:border-color .15s}.pd-related-card:hover{border-color:#5f6554}.pd-related-image{height:150px;padding:12px;display:grid;place-items:center;background:linear-gradient(135deg,#fff,var(--related-soft))}.pd-related-image img{width:100%;height:126px;object-fit:contain}.pd-related-info{display:flex;flex-direction:column;flex:1;gap:7px;padding:12px}.pd-related-info small{font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:#657060}.pd-related-info strong{font-size:13px;line-height:1.4;color:#4f5446;overflow-wrap:anywhere}.pd-related-info>span{font-size:10px;color:#657060;line-height:1.4}.pd-related-info b{font-size:11px;color:#5f6554;margin-top:auto;padding-top:7px}@media(max-width:420px){.pd-related-grid{grid-template-columns:minmax(0,1fr)}.pd-related-card{flex-direction:row;align-items:stretch}.pd-related-image{height:auto;min-height:136px;width:105px;flex-shrink:0}.pd-related-image img{height:110px}.pd-related-info{padding:13px}.pd-related-info strong{font-size:14px}}
