:root{--muted:#687276;--line:#e5e7e5;--paper:#faf9f6}
header{position:sticky;top:0;z-index:20;background:rgba(250,249,246,.97);backdrop-filter:blur(14px)}
.shop-section{padding:48px 0 50px;border-top:1px solid var(--line)}
.shop-heading{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:44px;margin-bottom:35px}
.shop-copy .eyebrow{color:#818778;display:flex;gap:8px;align-items:center;font-size:10px;letter-spacing:2px}
.shop-copy h2{font-size:39px;line-height:1.35;font-weight:800;letter-spacing:-1.8px;margin:16px 0 14px}
.shop-copy h2 span{color:var(--orange)}
.shop-intro{font-size:13px;line-height:1.9;color:var(--muted);margin-bottom:19px}
.shop-total{display:inline-flex;gap:24px;align-items:center;font-size:11px;color:var(--green);font-weight:500;padding:6px 0;border-bottom:1px solid #bcc9af}
.shop-total>span{font-size:17px}
.shop-mosaic{height:268px;display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:1fr 1fr;gap:10px;transform:rotate(-1deg)}
.shop-mosaic figure{margin:0;position:relative;overflow:hidden;border-radius:15px;box-shadow:0 5px 18px #14201c0b}
.shop-mosaic img{width:100%;height:100%;object-fit:cover;display:block}
.mosaic-city{grid-row:1/3}.mosaic-city img{object-position:60% 50%}
.shop-mosaic figcaption{position:absolute;bottom:16px;left:16px;color:#fff;font-size:9px;font-weight:700;letter-spacing:2px;text-shadow:0 1px 5px #17211a}
.shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px}
.shop-search{display:flex;align-items:center;gap:11px;background:white;border:1px solid #dedfd9;border-radius:11px;padding:12px 16px;max-width:510px;flex:1;color:#899084;font-size:24px;box-shadow:0 2px 5px #23322103}
.shop-search input{width:100%;border:0;background:transparent;font-size:14px}.shop-search input:focus{outline:none}.shop-search:focus-within{outline:2px solid #f8ad96;outline-offset:2px}
.shop-toolbar .checkbox-label{font-size:12px;color:var(--muted);white-space:nowrap}
.shop-toolbar strong{background:var(--orange-light);color:var(--orange);padding:1px 8px;border-radius:12px;min-width:24px;text-align:center}
.category-filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:17px}
.category-filters button{border:1px solid var(--line);background:#fff;border-radius:24px;padding:9px 17px;font-size:12px;color:#626e69;font-weight:500}
.category-filters button:hover{background:var(--orange-light);border-color:#f6bea9;color:var(--orange)}
.category-filters button.active{background:var(--orange);border-color:var(--orange);color:#fff;box-shadow:0 3px 9px #f35e391c}
.shop-scope{display:block;padding:0;background:#f1f2ec;border:1px solid #e8ebe2;border-radius:9px;font-size:11px;color:#737f69;line-height:1.9}
.shop-scope summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:9px 13px}.shop-scope summary::-webkit-details-marker{display:none}
.shop-scope summary>span{display:grid;place-items:center;border:1px solid #99a58f;border-radius:50%;width:16px;height:16px;font:italic 11px Georgia}
.shop-scope summary>b{margin-left:auto;font-size:17px;font-weight:400}.shop-scope[open] summary>b{transform:rotate(45deg)}
.shop-scope>p{padding:0 13px 12px 37px;max-width:900px}
.catalog-summary{font-size:11px;color:var(--muted);padding:20px 0 13px}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.catalog-card{display:flex;flex-direction:column;min-width:0;padding:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 3px 12px #24312a06;transition:box-shadow .2s,border-color .2s}
.catalog-card:hover{box-shadow:0 9px 27px #24312a12;border-color:#d6d9d0}.catalog-card.needed{border-color:#f2bda8}.catalog-card.covered{background:#f7faf4;border-color:#dce5d7}
.product-visual{position:relative;aspect-ratio:1.62;background:#ecefe8;overflow:hidden}
.photo-link,.photo-static{display:block;width:100%;height:100%;position:relative}
.product-photo-image{width:100%;height:100%;display:block;object-fit:cover;transition:transform .4s}
.catalog-card:hover .product-photo-image{transform:scale(1.035)}
.photo-label{position:absolute;left:13px;bottom:12px;pointer-events:none;background:#ffffffed;border:1px solid #fff8;border-radius:5px;color:#3d5147;backdrop-filter:blur(5px);padding:3px 8px;font-size:9px;font-weight:600;line-height:1.6}
.photo-caption{position:absolute;right:10px;bottom:12px;pointer-events:none;font-size:8px;color:#fff;background:#10201872;padding:2px 5px;border-radius:3px}
.save-product{position:absolute;top:12px;right:12px;width:33px;height:33px;padding:0;display:grid;place-items:center;border:1px solid #ffffff94;border-radius:50%;background:#fffc;color:#42544a;font-size:25px;font-family:Arial,sans-serif;line-height:1;box-shadow:0 2px 9px #16241a12;backdrop-filter:blur(5px)}
.save-product:hover,.save-product.saved{background:#fff;color:var(--orange)}
.catalog-body{display:flex;flex-direction:column;flex:1;padding:19px 19px 17px}
.product-tag{font-size:10px;color:#829078;margin-bottom:6px;line-height:1.6}.product-tag.needed{color:var(--orange);font-weight:600}.product-tag.covered,.product-tag.context{color:var(--green)}
.catalog-card h3{font-size:17px;line-height:1.55;letter-spacing:-.55px;font-weight:700}
.product-desc{font-size:12px;line-height:1.85;color:var(--muted);margin:8px 0 14px}
.product-hint{font-size:11px;color:var(--green);background:#eaf1e7;padding:8px 10px;border-radius:6px;line-height:1.85;margin-bottom:12px}
.product-details{margin-bottom:16px}.product-details summary{font-size:10px;color:#8a9580;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;list-style:none}.product-details summary::-webkit-details-marker{display:none}
.product-details summary>span{font-size:14px}.product-details[open] summary>span{transform:rotate(45deg)}
.product-note{font-size:11px;color:#76826b;line-height:1.85;margin:8px 0 0}
.catalog-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #eef0ea;padding-top:14px;margin-top:auto}
.catalog-card-foot>span{font-size:10px;color:#8b9484}
.catalog-card-foot a{display:inline-flex;gap:8px;align-items:center;background:var(--orange-light);color:var(--orange);border-radius:7px;padding:8px 11px;font-size:11px;font-weight:600;white-space:nowrap}
.catalog-card-foot a:hover{background:var(--orange);color:#fff}.covered-booking{font-size:10px;color:var(--green);background:#eaf1e8;border-radius:6px;padding:7px 9px;opacity:1!important}
.catalog-empty{grid-column:1/-1;border:1px dashed #bcc8b3;border-radius:15px;text-align:center;padding:40px 20px;color:var(--muted);background:#fff}.catalog-empty strong{font-size:15px;color:var(--ink)}.catalog-empty p{font-size:12px;margin:8px 0 17px}.catalog-empty .secondary{margin:0}
.shop-section .booking-note{margin-top:24px;font-size:10px;line-height:1.9}.photo-credits p{font-size:10px;margin-bottom:10px}.photo-credits a{font-size:10px}
.esim-art{position:absolute;inset:0;background:linear-gradient(115deg,#17293ca8,#102b293d);display:flex;justify-content:center;align-items:center;gap:15px;pointer-events:none}
.esim-phone{background:#fff;border:4px solid #23413b;border-radius:15px;width:83px;height:122px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:8px 9px 0 #0d242449;transform:rotate(10deg);color:var(--orange)}
.esim-phone svg{width:29px;height:29px}.esim-phone b{font-size:16px;margin-top:8px;letter-spacing:-.4px}.esim-signal{position:absolute;left:23%;top:25%;color:#fff;letter-spacing:2px;font-size:11px;transform:rotate(-7deg)}.esim-ready{position:absolute;right:13%;bottom:25%;font-size:9px;letter-spacing:1px;border:1px solid #ffffff80;border-radius:5px;background:#ffffff28;padding:5px 8px;color:#fff}
@media(min-width:1440px){.shop-copy h2{font-size:44px}.shop-mosaic{height:290px}.catalog-card h3{font-size:18px}}
@media(max-width:1000px){.shop-heading{gap:26px;grid-template-columns:1fr 1fr}.shop-copy h2{font-size:32px}.shop-mosaic{height:244px}.catalog-grid{gap:16px}.catalog-body{padding:16px}.catalog-card h3{font-size:15px}.catalog-card-foot{gap:8px}.catalog-card-foot>span{font-size:9px}.catalog-card-foot a{font-size:10px;padding:7px 9px}}
@media(max-width:900px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-visual{aspect-ratio:1.7}.catalog-card h3{font-size:17px}}
@media(max-width:780px){.nav nav{gap:15px}.shop-heading{grid-template-columns:1fr;gap:24px}.shop-copy h2{font-size:37px}.shop-mosaic{height:240px;transform:none;grid-template-columns:1.3fr 1fr;max-width:650px}.shop-intro{font-size:13px}.shop-total{font-size:11px}}
@media(max-width:540px){.shop-section{padding:28px 0 36px}.shop-heading{gap:22px;margin-bottom:24px}.shop-copy .eyebrow{font-size:9px;letter-spacing:1.7px}.shop-copy h2{font-size:31px;letter-spacing:-1.3px;margin:12px 0}.shop-intro{font-size:12px;line-height:1.9;margin-bottom:13px}.shop-total{gap:22px;font-size:10px}.shop-mosaic{height:192px;gap:8px}.shop-mosaic figure{border-radius:11px}.shop-mosaic figcaption{font-size:8px;bottom:12px;left:12px}.shop-toolbar{gap:14px;align-items:flex-start;flex-direction:column}.shop-search{width:100%;max-width:none;flex:auto;padding:10px 13px}.shop-search input{font-size:13px}.shop-toolbar .checkbox-label{font-size:12px}.category-filters{gap:7px}.category-filters button{font-size:11px;padding:8px 12px}.shop-scope{font-size:11px}.catalog-summary{font-size:10px;padding:16px 0 12px}.catalog-grid{grid-template-columns:1fr;gap:20px}.catalog-card{border-radius:15px}.catalog-body{padding:18px}.catalog-card h3{font-size:18px}.product-desc{font-size:13px}.product-tag{font-size:11px}.product-details summary{font-size:11px}.product-note{font-size:12px}.catalog-card-foot>span{font-size:11px}.catalog-card-foot a{font-size:12px;padding:9px 12px}.photo-label{font-size:10px}.photo-caption{font-size:9px}.save-product{width:35px;height:35px}.nav nav{gap:11px}.nav nav a{font-size:10px}.brand{font-size:18px}.brand-symbol{width:31px;height:33px;font-size:26px}.covered-booking{font-size:11px}.shop-section .booking-note{font-size:10px}.esim-phone{width:87px;height:128px}}
@media(prefers-reduced-motion:reduce){.catalog-card:hover .product-photo-image{transform:none}.shop-mosaic{transform:none}}
.shop-copy .eyebrow{color:#69725e}.product-tag{color:#64735c}.product-details summary,.catalog-card-foot>span{color:#65705b}
.category-filters button.active{background:#d74825;border-color:#d74825}.catalog-card-foot a{color:#bf3f22}.catalog-card-foot a:hover{background:#d74825;color:#fff}.photo-caption{background:#11251ce6}
