/* 365Graficas — estilos de la página: servicios.html */
.page-head{padding-block:clamp(48px,7vw,88px) clamp(40px,5vw,64px);border-bottom:1px solid var(--line)}
.page-head h1{font-size:clamp(2.3rem,5.6vw,4.3rem);margin-top:16px;max-width:17ch}
.page-head .lead{margin-top:22px}
.routes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:44px}
@media (max-width:980px){.routes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.routes{grid-template-columns:1fr}}
.route{display:grid;grid-template-columns:auto 1fr auto;gap:2px 14px;align-items:center;text-decoration:none;padding:18px 20px;border:1.5px solid var(--line2);border-radius:var(--radius);background:var(--surface);transition:border-color .15s,transform .15s}
.route:hover{border-color:var(--ink);transform:translateY(-2px)}
.route svg{grid-row:span 2;width:32px;height:auto}
.route b{font-weight:700;font-size:1rem}
.route small{grid-column:2;color:var(--ink3);font-size:.8rem;font-weight:500}
.route .arr{grid-row:1/span 2;grid-column:3;font-weight:700;color:var(--ink3)}
.sec-label{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.sec-label .chip{font-size:.72rem;font-weight:700;letter-spacing:.14em;padding:6px 10px;border-radius:6px;background:var(--ink);color:var(--bg)}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:900px){.grid3{grid-template-columns:1fr}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;gap:16px}
.card.feat{border:2px solid var(--ink)}
.card .top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.badge{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:5px 9px;border-radius:6px;background:var(--verde);color:#fff;white-space:nowrap}
.card h3{font-size:1.3rem}
.card p{color:var(--ink2);font-size:.95rem}
.incl{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.92rem}
.incl li{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:start}
.incl li::before{content:"";width:12px;height:12px;margin-top:6px;border-radius:3px;background:var(--acc,var(--verde))}
.meta{margin:auto 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:18px;border-top:1px solid var(--line)}
.meta dt{font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.meta dd{margin:4px 0 0;font-weight:600;font-size:.92rem}
.formats{display:flex;flex-wrap:wrap;gap:5px}
.formats span{font-size:.72rem;font-weight:600;padding:3px 7px;border-radius:5px;background:var(--bg2);color:var(--ink2)}
.note{margin-top:18px;font-size:.88rem;color:var(--ink2);padding:14px 18px;border-radius:10px;background:var(--bg2);border-left:3px solid var(--ink)}
.alt{background:var(--bg2)}
.alt .note{background:var(--surface)}
.plan-pick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:28px}
@media (max-width:820px){.plan-pick{grid-template-columns:1fr}}
.plan-btn{text-align:left;font-family:inherit;color:var(--ink);background:var(--surface);border:1.5px solid var(--line2);border-radius:var(--radius);padding:24px;cursor:pointer;display:grid;gap:10px}
.plan-btn:hover{border-color:var(--ink2)}
.plan-btn[aria-pressed="true"]{border:2px solid var(--ink);padding:23.5px;box-shadow:0 10px 30px -18px rgba(0,0,0,.45)}
.plan-btn .nm{display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:1.4rem;letter-spacing:-.02em}
.plan-btn .for{color:var(--ink2);font-size:.92rem;line-height:1.5}
.plan-btn .bar{display:flex;gap:3px}
.plan-btn .bar i{flex:1;height:6px;border-radius:2px;background:var(--line)}
.plan-btn .bar i.on{background:var(--verde)}
.plan-btn .cnt{font-size:.8rem;font-weight:600;color:var(--ink3)}
.plan-btn .price{font-size:.85rem;font-weight:600;color:var(--ink2)}
.radio{width:20px;height:20px;border-radius:50%;border:2px solid var(--line2);display:grid;place-items:center}
.plan-btn[aria-pressed="true"] .radio{border-color:var(--ink)}
.plan-btn[aria-pressed="true"] .radio::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--verde)}
.tbl-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
table{border-collapse:collapse;width:100%;font-size:.9rem}
#tbl{min-width:860px}
#mtbl{min-width:620px}
th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
thead th{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);background:var(--surface)}
thead th.pc{color:var(--ink);font-size:.78rem}
td.item b{display:block;font-weight:700}
td.item span{color:var(--ink3);font-size:.82rem}
td.fmt{color:var(--ink2);font-size:.8rem}
td.v{font-weight:600}
td.v.no{color:var(--ink3);font-weight:400}
td.v.yes::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--verde);margin-right:8px}
col.sel{background:color-mix(in srgb,var(--verde) 9%,transparent)}
th.sel,td.sel{box-shadow:inset 2px 0 0 var(--verde),inset -2px 0 0 var(--verde)}
tr.grp td{background:var(--bg2);font-weight:700;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;padding-block:12px}
tr.grp td i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:10px;vertical-align:-1px}
tr.tot td{font-weight:700;border-bottom:0}
.tbl-note{font-size:.84rem;color:var(--ink3);margin-top:14px}
.pol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px;border-top:2px solid var(--ink)}
@media (max-width:760px){.pol{grid-template-columns:1fr}}
.pol div{padding-block:24px;border-bottom:1px solid var(--line);display:grid;gap:8px;align-content:start}
.pol h3{font-size:1.05rem}
.pol p{color:var(--ink2);font-size:.95rem}
.cot{background:var(--band);color:var(--band-ink)}
.cot .grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px 64px}
@media (max-width:880px){.cot .grid{grid-template-columns:1fr}}
.cot h2 span{color:var(--verde)}
.cot .lead{color:var(--band-ink2);margin-top:18px}
.form{display:grid;gap:18px}
.form label{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--band-ink2);display:block;margin-bottom:8px}
.form input,.form select,.form textarea{width:100%;font:500 1rem/1.4 "Montserrat",system-ui,sans-serif;color:var(--band-ink);background:#262624;border:1.5px solid #45453F;border-radius:10px;padding:12px 14px}
.form select option,.form select optgroup{background:#262624;color:#F7F5F1}
.form textarea{min-height:96px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--verde)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:520px){.row2{grid-template-columns:1fr}}
.msg{background:var(--papel);color:var(--negro);border-radius:16px;padding:26px;display:grid;gap:16px;align-content:start}
.msg .hd{display:flex;align-items:center;justify-content:space-between;gap:10px}
.msg .hd svg{width:28px;height:auto;--sheet:var(--negro)}
.msg pre{margin:0;white-space:pre-wrap;font:500 .95rem/1.6 "Montserrat",system-ui,sans-serif;color:var(--negro);background:#fff;border:1px solid #DEDBD3;border-radius:10px;padding:18px;min-height:200px}
.msg .acts{display:flex;flex-wrap:wrap;gap:10px}
.msg .btn{border-color:var(--negro)}
.msg .btn.wa{background:var(--verde);border-color:var(--verde);color:#fff}
.msg .btn.wa svg{width:18px;height:18px;fill:currentColor}
.msg .btn.cp{background:transparent;color:var(--negro)}
.msg .ok{font-size:.85rem;font-weight:600;color:#08852F;min-height:1.3em}
.msg .hint{font-size:.82rem;color:#4B4B47}
.cot .cot-head{max-width:760px}
.channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-block:32px 28px}
@media (max-width:640px){.channels{grid-template-columns:1fr}}
.channels input{position:absolute;opacity:0;pointer-events:none}
.ch{display:flex;gap:14px;align-items:center;padding:18px 20px;border-radius:14px;border:1.5px solid #45453F;cursor:pointer;transition:border-color .15s,background .15s}
.ch:hover{border-color:#6A6A62}
.ch b{display:block;font-size:1.02rem}
.ch small{display:block;color:var(--band-ink2);font-size:.86rem;margin-top:2px}
.ch .ic{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center}
.ch .ic svg{width:20px;height:20px;fill:#fff}
.ch .ic.wa{background:var(--verde)}
.ch .ic.ml{background:#45453F}
.channels input:checked+.ch{border-color:var(--papel);background:#262624}
.channels input:checked+.ch .ic.ml{background:var(--magenta)}
.channels input:focus-visible+.ch{outline:2px solid var(--verde);outline-offset:3px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form label.drop{position:relative;display:grid;gap:6px;justify-items:center;text-align:center;padding:28px 18px;border:1.5px dashed #6A6A62;border-radius:12px;cursor:pointer;margin:0!important;text-transform:none!important;letter-spacing:0!important;color:var(--band-ink)!important;font-size:.95rem!important;transition:border-color .15s,background .15s}
.drop:hover,.drop.over{border-color:var(--verde);background:#262624}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.drop b{font-weight:600}
.drop small{display:block;color:var(--band-ink2);font-size:.82rem;font-weight:400}
.flist{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
.flist li{display:grid;grid-template-columns:1fr auto auto;gap:4px 12px;align-items:center;padding:10px 12px;border-radius:10px;background:#262624;font-size:.88rem}
.flist .nm{overflow-wrap:anywhere}
.flist .sz{color:var(--band-ink2);font-variant-numeric:tabular-nums;white-space:nowrap}
.flist button{font:inherit;background:none;border:0;color:var(--band-ink2);cursor:pointer;padding:2px 6px;border-radius:6px}
.flist button:hover{color:#fff;background:#45453F}
.flist .bar{grid-column:1/-1;height:4px;border-radius:4px;background:#45453F;overflow:hidden}
.flist .bar i{display:block;height:100%;width:0;background:var(--verde);transition:width .2s}
.flist li.err{outline:1.5px solid #E0685A}
.flist .why{grid-column:1/-1;color:#F09A8E;font-size:.8rem}
.sum{margin:0;display:grid;gap:10px;background:#fff;border:1px solid #DEDBD3;border-radius:10px;padding:18px}
.sum div{display:grid;grid-template-columns:8.5em 1fr;gap:10px;font-size:.9rem}
.sum dt{color:#77776F;font-weight:600}
.sum dd{margin:0;color:var(--negro);overflow-wrap:anywhere;white-space:pre-wrap}
.msg .btn.send{background:var(--negro);color:var(--papel)}
.msg .btn.send[disabled]{opacity:.55;cursor:progress;transform:none}
.status{font-size:.9rem;font-weight:600;min-height:1.3em;margin:0}
.status.good{color:#08852F}.status.bad{color:#B3261E}
.imp{font-size:.84rem;color:var(--ink2);padding:12px 14px;border-radius:10px;background:var(--bg2)}
.imp b{display:block;font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);margin-bottom:6px}
.imp ul{margin:0;padding-left:18px;display:grid;gap:4px}
.incl .sub{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px}
.incl .sub li{display:block;position:relative;padding-left:14px}
.incl .sub li::before{content:"";position:absolute;left:0;top:.62em;margin:0;width:6px;height:6px;border-radius:50%;background:var(--ink3)}
.incl .inote{display:block;margin-top:6px;font-size:.8rem;color:var(--ink3);line-height:1.45}
.sub-h{font-size:1.05rem;margin:40px 0 6px}
.sub-p{color:var(--ink2);font-size:.92rem;margin:0 0 16px}
.allinc{margin-top:8px;padding:22px 24px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}
.allinc ul{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 24px}
.allinc li{display:grid;gap:4px;align-content:start;padding-left:14px;border-left:3px solid var(--verde)}
.allinc b{font-size:.92rem}
.allinc small{font-size:.8rem;color:var(--ink3);line-height:1.4}
@media (max-width:980px){.allinc ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.allinc ul{grid-template-columns:1fr}}
.wcard{gap:14px}
.wprice{display:flex;align-items:baseline;gap:8px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.wprice b{font-size:1.6rem;font-weight:800;letter-spacing:-.01em}
.wprice span{font-size:.85rem;color:var(--ink3);font-weight:500}
.wsub{margin:6px 0 0;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.spec{margin:0;display:grid}
.spec div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:.86rem}
.spec dt{color:var(--ink2);white-space:nowrap}
.spec dd{margin:0;font-weight:600;text-align:right}
.spec dd.off{color:var(--ink3);font-weight:400}
.wcard .imp{margin-top:auto}
.pchips{display:flex;flex-wrap:wrap;gap:6px}
.pchips span{font-size:.8rem;font-weight:600;padding:5px 10px;border-radius:999px;border:1px solid var(--line2);color:var(--ink)}
.pnote{display:block;font-size:.8rem;color:var(--ink3);margin-top:-4px}
@media (min-width:901px){.grid2x2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.card .cta{align-self:flex-start;margin-top:4px}
.wcard .cta{margin-top:0}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:22px}
.cta-row span{font-size:.88rem;color:var(--ink2)}
.wcard .incl + .cta{margin-top:auto}
/* imágenes en tarjetas */
.card>.ph,.card>.media-img,.card>.carousel{margin:-12px -12px 4px;width:calc(100% + 24px)}
.mes{margin:28px 0 26px}
.mes-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-bottom:14px}
.mes-head h3{font-size:1.15rem}.mes-head p{color:var(--ink2);font-size:.92rem}
.grid3>*,.card{min-width:0}
#medida .card>.ph{aspect-ratio:2/1}
