:root{--cream:#f7f2e8;--paper:#fffdf8;--ink:#2f2925;--muted:#756b63;--wine:#6f2330;--orange:#d6692d;--line:rgba(47,41,37,.14);--shadow:0 14px 34px rgba(47,41,37,.08);--font:"acumin-pro-extra-condensed","Arial Narrow",Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Georgia,"Times New Roman",serif;line-height:1.5}a{color:var(--wine)}.shell{width:min(920px,calc(100% - 28px));margin:0 auto;padding:34px 0 70px}.top{display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding-bottom:20px;flex-wrap:wrap}.brand{font-family:var(--font);font-size:1.5rem;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;color:var(--ink)}.top-links{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.top-link,.logout-button{font-family:Arial,sans-serif;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--wine);text-decoration:none;background:none;border:0;padding:0;cursor:pointer}.logout-form{margin:0}.top-link:hover,.logout-button:hover{text-decoration:underline}.page-title{margin:42px 0 8px;color:var(--orange);font-size:clamp(2.6rem,8vw,5rem);line-height:.95}.intro{margin:0 0 30px;color:var(--muted)}.panel,.notice,.empty,.card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow)}.panel{padding:24px}.notice,.empty{padding:18px;margin:0 0 20px}.notice.error{border-left:4px solid var(--wine)}.notice.ok{border-left:4px solid #4d7a57}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{margin-bottom:16px}.field label{display:block;margin-bottom:6px;color:var(--muted);font-family:Arial,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;padding:11px 12px;border:1px solid rgba(47,41,37,.25);background:#fff;color:var(--ink);font:inherit;border-radius:0}.field textarea{min-height:85px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid rgba(214,105,45,.25);border-color:var(--orange)}.help{margin:-8px 0 16px;color:var(--muted);font-size:.86rem}.button{display:inline-block;padding:11px 16px;border:1px solid var(--ink);background:var(--ink);color:#fff;text-decoration:none;font-family:Arial,sans-serif;font-size:.75rem;font-weight:bold;letter-spacing:.07em;text-transform:uppercase;cursor:pointer}.button.secondary{background:transparent;color:var(--ink)}.button.wine{background:var(--wine);border-color:var(--wine)}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.section-title{margin:0 0 16px;color:var(--wine);font-size:1.55rem}.muted{color:var(--muted)}.items{display:grid;gap:16px}.item{display:grid;grid-template-columns:90px 1fr auto;gap:18px;align-items:center;padding:16px;background:var(--paper);border:1px solid var(--line)}.cover{width:90px;max-height:135px;object-fit:contain}.title{margin:0;color:var(--wine);font-size:1.25rem}.author{margin:4px 0 10px;color:var(--muted);font-style:italic}.price{font-size:.95rem}.qty{width:68px;padding:8px;border:1px solid var(--line);background:#fff}.subtotal{text-align:right;font-weight:bold}.remove{margin-top:8px;border:0;background:none;color:var(--wine);text-decoration:underline;cursor:pointer}.summary{margin-top:24px;padding:22px;background:var(--paper);border-top:2px solid var(--orange);display:flex;justify-content:space-between;align-items:center;gap:20px}.total{font-size:1.45rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:22px}.address{font-style:normal;line-height:1.7}.next{margin-top:28px;padding:18px;border-left:3px solid var(--orange);color:var(--muted);font-size:.93rem}.account-kicker{font-family:Arial,sans-serif;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.small{font-size:.86rem}.auth-links{margin-top:18px;color:var(--muted);font-size:.9rem}.status-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line)}.status-row:last-child{border-bottom:0}.checkout-total{font-size:1.25rem;font-weight:bold;color:var(--wine)}
@media(max-width:700px){.grid-2,.split{grid-template-columns:1fr}.item{grid-template-columns:70px 1fr}.cover{width:70px}.item-side{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.summary{align-items:flex-start;flex-direction:column}.top{align-items:flex-start}.top-links{gap:10px}}
.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

/* Carrito: actualización automática de cantidades. */
.js-cart-ready .manual-update{display:none}.cart-save-status{min-height:1.35em;margin:10px 0 0;color:var(--muted);font-size:.82rem;font-style:italic}.cart-save-status[data-state="saved"]{color:#4d7a57}.cart-save-status[data-state="error"]{color:var(--wine)}

/* Checkout: preparación de paquetería Andreani. */
.shipping-panel{margin-top:22px}.shipping-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0 18px}.shipping-summary>div{padding:14px;background:rgba(247,242,232,.7);border:1px solid var(--line)}.shipping-summary span{display:block;color:var(--muted);font-family:Arial,sans-serif;font-size:.67rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.shipping-summary strong{display:block;margin-top:5px;font-size:1.05rem}.package-row{display:grid;grid-template-columns:85px 1fr 1.4fr 1fr 1fr;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line);font-size:.88rem}.package-row span{color:var(--muted)}.shipping-cost-row{margin-top:8px}.shipping-pending{color:var(--orange)}.shipping-note{margin:16px 0 0;border-left:4px solid var(--orange);box-shadow:none}.checkout-total.muted{color:var(--muted);font-size:1rem}
@media(max-width:700px){.shipping-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.package-row{grid-template-columns:1fr 1fr}.package-row strong{grid-column:1/-1}}

/* Checkout: tarifa promocional y Mercado Pago. */
.shipping-promo{margin:10px 0 0;color:var(--muted);font-size:.9rem}.shipping-price{color:var(--wine);font-size:1.15rem}.shipping-details{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.shipping-details summary{cursor:pointer;color:var(--wine);font-family:Arial,sans-serif;font-size:.76rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.payment-panel{margin-top:22px}.payment-panel p{margin:0 0 16px}.payment-button{min-width:250px}.payment-button:disabled{opacity:.48;cursor:not-allowed}.payment-help{margin-top:10px!important}.payment-result-card{margin:20px 0}.payment-result-card .status-row:last-child{padding-bottom:0}

.transfer-card{margin-top:20px}.transfer-value{font-family:Arial,sans-serif;font-weight:700;letter-spacing:.03em;word-break:break-all}.transfer-note{margin:18px 0 0!important;padding:14px 16px;border-left:3px solid var(--orange);background:rgba(247,242,232,.7);color:var(--muted)}

.account-orders{margin-top:22px}.account-order-list{display:grid;gap:0}.account-order-row{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:16px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.account-order-row:first-child{border-top:0}.account-order-row>div:nth-child(2){display:flex;flex-direction:column;gap:3px}.account-order-row small{display:block;color:var(--muted);margin-top:3px}.account-order-row>div:last-child{text-align:right}
@media(max-width:650px){.account-order-row{grid-template-columns:1fr}.account-order-row>div:last-child{text-align:left}}

/* --------------------------------------------------------------------------
   Identidad institucional Diotima: encabezado, menú y pie compartidos.
   Adaptado del index.php vigente del sitio para las páginas de /carrito/.
   -------------------------------------------------------------------------- */
:root{
  --paper-soft:#fbf6ea;
  --accent-deep:#ba5120;
  --font-body:"Acumin Pro","Acumin Variable Concept","Helvetica Neue",Arial,sans-serif;
  --font-text:Georgia,"Times New Roman",serif;
  --font-display:"acumin-pro-extra-condensed","Acumin Pro ExtraCondensed","Acumin Variable Concept","Arial Narrow","Helvetica Neue",Arial,sans-serif;
}

.diotima-header-shell,
.diotima-footer-shell{
  width:min(calc(100% - 28px),1180px);
  margin:0 auto;
}
.diotima-header-shell{padding-top:18px}
.diotima-footer-shell{padding-bottom:30px}

.page-header{
  background:var(--paper-soft);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.brand-mark{
  display:block;
  width:100%;
  text-decoration:none;
  background:#e27534;
}
.brand-mark img{
  display:block;
  width:100%;
  height:auto;
}
.menu-toggle{
  display:none;
  width:100%;
  min-height:58px;
  padding:12px 18px;
  border:0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:var(--paper-soft);
  color:var(--ink);
  cursor:pointer;
  font-family:var(--font-body);
  font-size:1rem;
  font-weight:700;
  letter-spacing:.08em;
  align-items:center;
  justify-content:center;
  gap:12px;
}
.menu-toggle-icon{position:relative;width:30px;height:22px;flex:0 0 auto}
.menu-toggle-icon::before,
.menu-toggle-icon::after,
.menu-toggle-icon span{
  content:"";
  position:absolute;
  left:0;
  width:30px;
  height:3px;
  border-radius:2px;
  background:currentColor;
  transition:transform .22s ease,top .22s ease,opacity .18s ease;
}
.menu-toggle-icon::before{top:1px}
.menu-toggle-icon span{top:10px}
.menu-toggle-icon::after{top:19px}
.menu-toggle[aria-expanded="true"] .menu-toggle-icon::before{top:10px;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-toggle-icon span{opacity:0}
.menu-toggle[aria-expanded="true"] .menu-toggle-icon::after{top:10px;transform:rotate(-45deg)}
.menu-toggle:hover,
.menu-toggle:focus-visible{background:rgba(214,105,45,.10);color:var(--accent-deep);outline:none}
.mobile-menu{display:block}
.main-nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:0;
  padding:0 12px;
  background:var(--paper-soft);
  border-top:1px solid rgba(255,255,255,.25);
}
.main-nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:10px 15px;
  text-decoration:none;
  font-family:var(--font-display);
  font-size:clamp(1.1rem,1.8vw,1.45rem);
  line-height:1;
  letter-spacing:.025em;
  color:var(--ink);
  transition:background .2s ease,color .2s ease;
}
.main-nav a:hover,
.main-nav a:focus-visible{background:rgba(214,105,45,.10);color:var(--accent-deep);outline:none}

.site-footer{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:clamp(22px,5vw,70px);
  margin-top:42px;
  padding:34px 8px 18px;
  border-top:1px solid rgba(214,105,45,.65);
  color:var(--ink);
}
.site-footer h2,
.site-footer p{margin:0}
.footer-cal,
.footer-contact{min-width:0}
.footer-cal{justify-self:start;text-decoration:none;color:var(--ink)}
.footer-cal:hover,
.footer-cal:focus-visible{color:var(--accent-deep);outline:none}
.footer-kicker{margin-bottom:10px!important;font-family:var(--font-text);font-size:.94rem}
.cal-lockup{
  display:flex;
  align-items:center;
  gap:12px;
  font-family:var(--font-body);
  font-size:.92rem;
  font-weight:700;
  line-height:1.05;
  letter-spacing:.015em;
  text-transform:uppercase;
}
.book-icon{position:relative;width:48px;height:36px;flex:0 0 auto}
.book-icon::before,
.book-icon::after{
  content:"";
  position:absolute;
  top:1px;
  width:23px;
  height:32px;
  border:2px solid currentColor;
  background:transparent;
}
.book-icon::before{left:1px;border-radius:4px 0 0 2px;transform:skewY(5deg)}
.book-icon::after{right:1px;border-radius:0 4px 2px 0;transform:skewY(-5deg)}
.footer-cat{justify-self:center;display:block;width:clamp(170px,21vw,270px)}
.footer-cat img{width:100%;height:auto;display:block}
.footer-contact{justify-self:end;text-align:left}
.footer-contact h2{margin-bottom:7px;font-family:var(--font-text);font-size:clamp(1.18rem,2vw,1.5rem);font-weight:400;color:var(--accent-deep)}
.footer-contact p{margin-bottom:4px;font-size:.93rem;line-height:1.35}
.footer-contact a{color:var(--ink);text-decoration:none}
.footer-contact a:hover,
.footer-contact a:focus-visible{color:var(--accent-deep);outline:none}
.footer-social{display:flex;align-items:center;gap:12px;margin-top:14px}
.footer-social img{width:28px;height:28px;object-fit:contain;display:block}
.footer-nav{
  grid-column:1/-1;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:5px 16px;
  margin-top:4px;
  padding-top:15px;
  border-top:1px solid rgba(120,82,54,.16);
  font-family:var(--font-body);
  font-size:.68rem;
  letter-spacing:.035em;
  text-transform:uppercase;
  color:var(--muted);
}
.footer-nav a{color:inherit;text-decoration:none;white-space:nowrap}
.footer-nav a:hover,
.footer-nav a:focus-visible{color:var(--accent-deep);outline:none}

/* La navegación propia de la tienda queda como una barra secundaria. */
.shell>.top{
  padding:12px 0 16px;
}
.shell>.top .brand{
  font-size:1rem;
  color:var(--muted);
}

@media(max-width:760px){
  .diotima-header-shell,
  .diotima-footer-shell{width:min(calc(100% - 20px),1180px)}
  .diotima-header-shell{padding-top:10px}
  .menu-toggle{display:flex}
  .mobile-menu{
    display:block;
    max-height:0;
    overflow:hidden;
    opacity:0;
    visibility:hidden;
    transition:max-height .32s ease,opacity .22s ease,visibility .22s ease;
  }
  .mobile-menu.is-open{max-height:900px;opacity:1;visibility:visible}
  .main-nav{display:flex;flex-direction:column;padding:8px;gap:4px}
  .main-nav a{
    width:100%;
    min-height:48px;
    padding:10px 12px;
    text-align:center;
    white-space:normal;
    background:rgba(255,255,255,.28);
  }
  .site-footer{
    grid-template-columns:1fr;
    justify-items:center;
    gap:24px;
    padding-top:30px;
    text-align:center;
  }
  .footer-cal,
  .footer-contact{justify-self:center;text-align:center}
  .cal-lockup{justify-content:center}
  .footer-cat{width:min(250px,76vw)}
  .footer-social{justify-content:center}
  .footer-nav{gap:7px 13px;padding-top:13px;font-size:.64rem;line-height:1.35}
}

@media(max-width:560px){
  .page-header .brand-mark,
  .page-header .brand-mark picture{display:block;width:100%}
  .page-header .brand-mark picture{
    aspect-ratio:1/1;
    overflow:hidden;
    background:#e27534;
  }
  .page-header .brand-mark img{
    display:block;
    width:100%;
    height:100%!important;
    aspect-ratio:1/1!important;
    object-fit:cover!important;
    object-position:center!important;
  }
}

/* === FIX DIOTIMA 2026-10-04: iconos del sitio + separador checkout === */
/*
   Estas reglas están en la hoja CSS externa a propósito: /carrito/ usa una
   política de seguridad que puede impedir estilos <style> inline. Así los
   iconos quedan idénticos a los del index.php y no aparece el juego móvil
   duplicado en escritorio.
*/
.diotima-mobile-nav-row { display: contents; }
.diotima-shop-actions {
  align-items: center;
  gap: 6px;
}
.diotima-desktop-shop-actions {
  display: inline-flex;
  min-height: 54px;
  padding: 0 4px 0 2px;
}
.diotima-mobile-shop-actions { display: none; }
.diotima-shop-link,
.main-nav .diotima-shop-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 39px;
  min-width: 39px;
  max-width: 39px;
  height: 39px;
  min-height: 39px;
  max-height: 39px;
  padding: 0;
  border: 1px solid rgba(111,35,48,.24);
  border-radius: 999px;
  background: rgba(255,253,247,.58);
  color: #6f2330;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(69,43,30,.06);
  line-height: 1;
  overflow: hidden;
  transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.diotima-shop-link svg {
  display: block;
  width: 20px;
  min-width: 20px;
  max-width: 20px;
  height: 20px;
  min-height: 20px;
  max-height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.diotima-shop-link svg * {
  fill: none;
  stroke: currentColor;
}
.diotima-shop-link:hover,
.diotima-shop-link:focus-visible,
.main-nav .diotima-shop-link:hover,
.main-nav .diotima-shop-link:focus-visible {
  transform: translateY(-1px);
  background: #fffaf2;
  color: #ba5120;
  border-color: rgba(214,105,45,.56);
  box-shadow: 0 5px 14px rgba(85,52,33,.13);
  outline: none;
}
.diotima-shop-link:focus-visible {
  box-shadow: 0 0 0 3px rgba(214,105,45,.18), 0 5px 14px rgba(85,52,33,.13);
}
.diotima-account-link svg {
  width: 19px;
  min-width: 19px;
  max-width: 19px;
  height: 19px;
  min-height: 19px;
  max-height: 19px;
}

/* Total final: se elimina la línea sólida de la fila y queda un solo
   separador punteado antes del detalle de Andreani. */
.shipping-panel > .status-row:last-of-type {
  border-bottom: 0;
  padding-bottom: 12px;
}
.shipping-panel > .shipping-details {
  margin-top: 2px;
  padding-top: 14px;
  border-top: 1px dotted rgba(111,35,48,.38);
}

@media (max-width:760px) {
  .diotima-desktop-shop-actions { display: none; }
  .diotima-mobile-nav-row {
    display: flex;
    align-items: stretch;
    width: 100%;
    background: var(--paper-soft,#fbf6ea);
    border-top: 1px solid var(--line,rgba(120,82,54,.25));
    border-bottom: 1px solid var(--line,rgba(120,82,54,.25));
  }
  .diotima-mobile-nav-row > .menu-toggle {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    border-top: 0;
    border-bottom: 0;
  }
  .diotima-mobile-shop-actions {
    display: flex;
    flex: 0 0 auto;
    padding: 7px 10px 7px 7px;
    border-left: 1px solid var(--line,rgba(120,82,54,.25));
    background: var(--paper-soft,#fbf6ea);
  }
  .main-nav .diotima-desktop-shop-actions .diotima-shop-link { display: none; }
  .diotima-mobile-shop-actions .diotima-shop-link {
    width: 41px;
    min-width: 41px;
    max-width: 41px;
    height: 41px;
    min-height: 41px;
    max-height: 41px;
    background: rgba(255,255,255,.38);
  }
  .diotima-mobile-shop-actions .diotima-shop-link svg {
    width: 21px;
    min-width: 21px;
    max-width: 21px;
    height: 21px;
    min-height: 21px;
    max-height: 21px;
  }
}

