:root{--blue:#104b87;--navy:#113854;--light:#edf5fa;--line:#dce6ed;--muted:#5b6e7c;--white:#fff;--coral:#c05940}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:#fff;color:var(--navy);font-family:Arial,Helvetica,sans-serif;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e5a454;outline-offset:3px}button{border:0}a{color:var(--blue)}header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:15px max(5%,calc((100vw - 1180px)/2));background:#ffffffef;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{text-decoration:none;letter-spacing:3px;font-family:Georgia,serif;font-size:27px;font-weight:bold;line-height:1}.brand span{display:block;letter-spacing:3px;font:12px Georgia,serif;color:var(--coral);text-align:center;margin-top:6px}.cart-top{background:var(--light);color:var(--blue);padding:10px 16px;border-radius:30px}.cart-top b,#cart-bar b{display:inline-block;margin-left:7px;border-radius:50%;background:var(--blue);color:white;min-width:24px;text-align:center}main{max-width:1180px;margin:auto;padding:0 28px}.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:30px;padding:55px 0 48px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:bold;color:var(--blue)}h1{font:clamp(36px,4.2vw,57px)/1.12 Georgia,serif;margin:18px 0 20px;letter-spacing:-1.6px}h2{font:34px/1.15 Georgia,serif;margin:8px 0 20px}.hero p{color:var(--muted);font-size:17px}.hero img{width:100%;max-height:350px;object-fit:contain;border-radius:50%}.primary{display:inline-block;background:var(--blue);color:#fff;padding:14px 22px;border-radius:9px;font-weight:bold;text-decoration:none}.hero-note{font-size:12px;color:var(--muted);margin-top:18px}.menu-heading{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:30px}.edition{font-size:12px;color:var(--muted)}.search{display:block}.search span{position:absolute;width:1px;height:1px;overflow:hidden}.search input{background:var(--light);border:1px solid var(--line);padding:16px 18px;width:100%;border-radius:10px}nav{display:flex;gap:8px;overflow:auto;padding:18px 0 20px;position:sticky;top:82px;background:white;z-index:5}nav button{white-space:nowrap;background:white;border:1px solid var(--line);color:var(--navy);padding:9px 16px;border-radius:30px;font-size:13px}nav button.active{background:var(--blue);color:white;border-color:var(--blue)}.category-title{margin:22px 0 5px;font-size:27px}.category-note{color:var(--muted);font-size:13px;margin:0 0 18px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:34px}.card{border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;background:#fff}.card img{height:190px;width:100%;object-fit:contain;background:#f8fbfd}.card-body{padding:20px;display:flex;flex-direction:column;flex:1}.card h3{font-size:18px;margin:0 0 7px;line-height:1.25}.card p{font-size:14px;color:var(--muted);margin:0 0 20px}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}.price{font-weight:bold;color:var(--blue);font-size:17px}.price small{font-weight:normal;font-size:11px;display:block}.add{background:var(--light);color:var(--blue);border-radius:8px;padding:9px 13px;font-size:13px;font-weight:bold}footer{border-top:1px solid var(--line);margin-top:30px;padding:32px 0 120px;color:var(--muted);font-size:12px}footer strong{color:var(--blue);letter-spacing:1px}#cart-bar{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);width:calc(100% - 32px);max-width:540px;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;background:var(--blue);color:white;border-radius:12px;box-shadow:0 8px 35px #11385444;z-index:20}#cart-bar[hidden]{display:none}#cart-bar b{background:#ffffff30}dialog{border:0;padding:26px;border-radius:18px;color:var(--navy);width:min(520px,calc(100% - 24px));max-height:90dvh;overflow:auto;box-shadow:0 20px 80px #001b3c40}dialog::backdrop{background:#092c4e99;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between}.close{font-size:28px;background:var(--light);color:var(--blue);height:38px;width:38px;border-radius:50%}label{display:block;font-size:14px;font-weight:bold;margin:17px 0}label input,label select,label textarea{display:block;margin-top:7px;width:100%;padding:12px;border:1px solid #becfdb;border-radius:8px;color:var(--navy);background:white;font-weight:normal}textarea{min-height:80px;resize:vertical}.wide{width:100%;margin-top:12px}.stepper{display:flex;align-items:center;gap:10px;margin-top:10px}.stepper button{background:var(--light);color:var(--blue);border-radius:8px;min-width:42px;min-height:42px;font-size:20px}.stepper input{width:75px;text-align:center;margin:0}.subtotal{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin-top:20px;font-size:17px}.small{font-size:12px;color:var(--muted)}.cart-row{padding:18px 0;border-bottom:1px solid var(--line)}.cart-row small{display:block;color:var(--muted)}.row-head,.row-actions{display:flex;justify-content:space-between;gap:10px;align-items:center}.remove{color:#a23e30;background:white;text-decoration:underline;font-size:12px;padding:12px 0}.row-actions .stepper{margin:8px 0 0}.qty-display{min-width:22px;text-align:center}#toast{position:fixed;top:100px;left:50%;transform:translateX(-50%);background:var(--navy);color:white;padding:10px 20px;border-radius:30px;z-index:50;pointer-events:none;opacity:0;transition:opacity .2s;white-space:nowrap}#toast.show{opacity:1}[hidden]{display:none!important}body.modal-open{overflow:hidden}.empty{padding:40px 0;color:var(--muted)}
@media(max-width:760px){header{padding:15px 20px}.brand{font-size:23px}.hero{gap:6px;padding:30px 0;grid-template-columns:1fr}.hero>div{z-index:1}.hero img{height:210px;grid-row:2;margin:0 auto}.hero h1{font-size:39px;max-width:500px}.hero p{font-size:15px}main{padding:0 18px}.menu-heading{display:block;padding-top:25px}.menu-heading h2{margin-bottom:8px}.edition{display:block;margin-bottom:18px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card-body{padding:15px}.card img{height:150px}.card h3{font-size:17px}.card p{font-size:13px}.card-bottom{align-items:flex-start;flex-direction:column;gap:12px}.add{width:100%;min-height:42px}nav{top:76px}.hero-note{font-size:11px}dialog{padding:22px}h2{font-size:30px}}@media(max-width:370px){.brand{font-size:22px;letter-spacing:2px;flex-shrink:0}.brand span{font-size:10px;letter-spacing:2px;white-space:nowrap}.cart-top{font-size:13px;white-space:nowrap;padding:10px 12px}.grid{grid-template-columns:1fr}.card-bottom{flex-direction:row;align-items:center}.add{width:auto}.hero h1{font-size:34px}}

.brand img{display:block;width:160px;height:48px;object-fit:contain}@media(max-width:760px){.brand img{width:137px;height:43px}}@media(max-width:370px){.brand img{width:120px;height:40px}}

.cost-line{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-size:14px}

.payment-section{border-top:1px solid var(--line);margin-top:24px;padding-top:12px}.payment-section h3{font-size:18px}.bank-details{padding:16px;background:var(--light);border:1px solid var(--line);border-radius:12px}.bank-details h3{margin:0 0 12px}.bank-details dl{margin:0}.bank-details dt{font-size:11px;font-weight:bold;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin-top:12px}.bank-details dd{margin:3px 0 0;overflow-wrap:anywhere;font-size:14px}.account-number{font-size:19px!important;font-weight:bold}.copy-data{background:white;color:var(--blue);border:1px solid #bfd0df;border-radius:6px;padding:8px 10px;font-size:12px;margin:5px 0 0 4px}.payment-qr-image{display:block;width:100%;max-width:300px;height:auto;margin:10px auto;background:white;border-radius:8px}.download-qr{display:block;text-align:center;padding:10px;font-weight:bold;font-size:14px}.payment-notice{font-size:13px;background:#fff6e6;border-left:3px solid #db9f45;padding:12px;border-radius:4px}

.duetos-banner{padding:18px 20px;background:var(--light);border-left:4px solid var(--blue);border-radius:9px;margin:0 0 24px}.duetos-banner strong{display:block;font:24px Georgia,serif}.duetos-banner span{display:block;font-size:13px;color:var(--muted);margin-top:5px}

/* Separar el carrito del sello de alojamiento y del área segura del teléfono. */
#cart-bar{bottom:calc(16px + env(safe-area-inset-bottom, 0px))}
footer{padding-bottom:120px}


.experience{padding:28px;background:var(--light);border-radius:16px;margin:0 0 32px}.experience h2{font-size:29px;margin:12px 0 20px}.mode-switch{display:flex;gap:10px}.mode-switch button{flex:1;padding:14px 12px;background:white;color:var(--blue);border:1px solid #bed0df;border-radius:9px;font-weight:bold}.mode-switch button[aria-pressed=true]{background:var(--blue);color:white;border-color:var(--blue)}.experience label{margin-bottom:8px}.share-menu{padding:20px 0}.share-menu summary{color:var(--blue);font-weight:bold;cursor:pointer;font-size:14px}.share-menu img{display:block;max-width:100%;height:auto;margin:18px 0}.share-menu a{display:inline-block;padding:8px 0}.share-menu p{max-width:560px}@media(max-width:760px){.experience{padding:22px 18px}.mode-switch{flex-direction:column}.mode-switch button{min-height:48px}}

.delivery-location{padding:16px;background:var(--light);border:1px solid var(--line);border-radius:12px;margin:18px 0}.delivery-location h3{font-size:18px;margin:0 0 10px}.location-actions{display:flex;gap:8px;flex-wrap:wrap}.location-actions .add{border:1px solid #bed0df;background:white;min-height:44px;flex:1}#delivery-map{height:270px;width:100%;border-radius:10px;background:#e1e9ed;isolation:isolate}#delivery-map .leaflet-control-attribution{font-size:10px}#delivery-map .leaflet-control-zoom a{color:var(--blue)}.delivery-pin{background:white;border:3px solid #104b87;border-radius:50%;box-shadow:0 2px 8px #0005;display:flex;align-items:center;justify-content:center;color:#104b87;font-size:20px;line-height:1}#location-google{display:inline-block;padding:8px 0}#clear-location{display:inline-block;margin-left:12px}.map-help{margin-bottom:4px}

.google-maps-open{display:block;text-align:center;text-decoration:none;border:1px solid #bed0df;background:white;padding:12px;border-radius:8px;margin:12px 0;min-height:44px}
