:root {
  --ink: #171717;
  --muted: #626262;
  --surface: #fffefa;
  --soft: #f3f1ec;
  --border: #dedbd3;
}

*[hidden] { display:none !important; }

body:not(.dark) {
  background: linear-gradient(145deg, #faf8f2 0%, #efede7 100%);
}

body:not(.dark) .topbar,
body:not(.dark) .store-card,
body:not(.dark) .service,
body:not(.dark) .form-card,
body:not(.dark) .card,
body:not(.dark) .appointment,
body:not(.dark) .product-detail,
body:not(.dark) .buy,
body:not(.dark) .seller-panel {
  color: #211f1a;
  background: #fffefa;
  border-color: #dedbd3;
}

body:not(.dark) .catalog-card,
body:not(.dark) .booking-card,
body:not(.dark) .order-card,
body:not(.dark) .store-trust,
body:not(.dark) .trust-hero,
body:not(.dark) .trust-card,
body:not(.dark) .empty-state {
  color:#211f1a;
  background:#fffefa;
  border-color:#dedbd3;
}

body:not(.dark) .trust-item,
body:not(.dark) .booking-summary,
body:not(.dark) .order-item,
body:not(.dark) .order-contact,
body:not(.dark) .confirmation-grid,
body:not(.dark) .protection-note,
body:not(.dark) .appointment-contact { background:#f3f1ec; }

body.dark,
html.nat-dark body {
  background: #111 !important;
  color: #f2f2f2;
}

body.dark .topbar,
html.nat-dark .topbar,
body.dark .menu-panel,
html.nat-dark .menu-panel,
body.dark .seller-panel,
html.nat-dark .seller-panel,
body.dark .form-card,
html.nat-dark .form-card,
body.dark .card,
html.nat-dark .card,
body.dark .appointment,
html.nat-dark .appointment,
body.dark .service,
html.nat-dark .service,
body.dark .store-card,
html.nat-dark .store-card,
body.dark .product-detail,
html.nat-dark .product-detail,
body.dark .buy,
html.nat-dark .buy,
body.dark .service-content,
html.nat-dark .service-content,
body.dark .notice,
html.nat-dark .notice {
  color: #f2f2f2 !important;
  background: #1d1d1d !important;
  border-color: #3d3d3d !important;
}

body.dark .catalog-card,
html.nat-dark .catalog-card,
body.dark .booking-card,
html.nat-dark .booking-card,
body.dark .order-card,
html.nat-dark .order-card,
body.dark .store-trust,
html.nat-dark .store-trust,
body.dark .trust-hero,
html.nat-dark .trust-hero,
body.dark .trust-card,
html.nat-dark .trust-card,
body.dark .empty-state,
html.nat-dark .empty-state,
body.dark .dispute-card,
html.nat-dark .dispute-card {
  color:#f2f2f2 !important;
  background:#1d1d1d !important;
  border-color:#3d3d3d !important;
}

body.dark .trust-item,
html.nat-dark .trust-item,
body.dark .booking-summary,
html.nat-dark .booking-summary,
body.dark .order-item,
html.nat-dark .order-item,
body.dark .order-contact,
html.nat-dark .order-contact,
body.dark .confirmation-grid,
html.nat-dark .confirmation-grid,
body.dark .protection-note,
html.nat-dark .protection-note,
body.dark .appointment-contact,
html.nat-dark .appointment-contact {
  color:#ededed !important;
  background:#292929 !important;
  border-color:#474747 !important;
}
html.nat-dark .trust-card p,html.nat-dark .trust-card li,html.nat-dark .trust-hero p{color:#cfcfcf!important}
body.dark .booking-payment,html.nat-dark .booking-payment,body.dark .nat-checkout-payment,html.nat-dark .nat-checkout-payment{color:#f4fff7!important;background:#173523!important;border-color:#37694a!important}
body.dark .booking-payment span,body.dark .booking-payment small,html.nat-dark .booking-payment span,html.nat-dark .booking-payment small,body.dark .nat-checkout-payment span,body.dark .nat-checkout-payment small,html.nat-dark .nat-checkout-payment span,html.nat-dark .nat-checkout-payment small{color:#b9dbc4!important}
body.dark .booking-payment strong,html.nat-dark .booking-payment strong,body.dark .nat-checkout-payment strong,html.nat-dark .nat-checkout-payment strong{color:#fff!important}
body.dark .trust-item>span,html.nat-dark .trust-item>span{color:#ededed!important}
body.dark .payment-account,html.nat-dark .payment-account{color:#ededed!important;background:#242424!important;border-color:#474747!important}

body.dark input,
html.nat-dark input,
body.dark textarea,
html.nat-dark textarea,
body.dark select,
html.nat-dark select,
body.dark .search {
  color: #f5f5f5 !important;
  background: #282828 !important;
  border-color: #555 !important;
}

button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
button:disabled { opacity:.55;cursor:not-allowed; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid #0aa8c2;outline-offset:2px; }
.msg,[role="status"] { overflow-wrap:anywhere; }
.status-pill,.order-status { letter-spacing:.35px; }
.appointment-actions button,.order-actions button,.nat-checkout-submit,.catalog-card>button,.booking-card>button,.form-card>button { transition:transform .12s ease,filter .12s ease; }
.appointment-actions button:active,.order-actions button:active,.nat-checkout-submit:active,.catalog-card>button:active,.booking-card>button:active,.form-card>button:active { transform:scale(.98); }

/* Calm motion language shared by every NAT screen. */
@view-transition { navigation:auto; }
::view-transition-old(root) { animation:nat-page-out .16s ease both; }
::view-transition-new(root) { animation:nat-page-in .28s cubic-bezier(.22,.75,.24,1) both; }
body:not(.auth-page) .content { animation:nat-content-in .32s cubic-bezier(.22,.75,.24,1) both; }
.tabs button,.menu,.menu-panel a,.menu-panel button,.nat-back-link,main>p>a,a.back,.store-actions a,.seller-panel a,.trust-actions a { transition:color .22s ease,background-color .22s ease,border-color .22s ease,opacity .22s ease,transform .22s cubic-bezier(.22,.75,.24,1),box-shadow .22s ease; }
.store-card,.service,.appointment,.order-card,.notice,.review-card,.catalog-card,.booking-card,.trust-card { transition:transform .26s cubic-bezier(.22,.75,.24,1),box-shadow .26s ease,border-color .22s ease,background-color .22s ease,opacity .22s ease; }
.store-grid>.store-card,#services>.service,#appointments>.appointment,#orders>.order-card,#notifications>.notice { animation:nat-item-in .3s cubic-bezier(.22,.75,.24,1) both; }
.nat-checkout-overlay,.gallery-modal,.mobile-app-dialog { animation:nat-overlay-in .2s ease both; }
.nat-checkout-card,.gallery-card,.mobile-app-dialog-card { animation:nat-sheet-in .28s cubic-bezier(.22,.75,.24,1) both; }

.nat-payment-choice{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:15px 0 0;padding:10px;border:1px solid #d8d8d8;border-radius:13px}.nat-payment-choice legend{padding:0 6px;font-size:12px;font-weight:900}.nat-payment-choice label{display:flex!important;align-items:center;gap:9px;margin:0!important;padding:10px!important;border:1px solid #ddd;border-radius:10px;background:#fafafa;cursor:pointer}.nat-payment-choice label:has(input:checked){border-color:#17a34a;background:#eefaf2;box-shadow:inset 0 0 0 1px #17a34a}.nat-payment-choice label.payment-unavailable{opacity:.55;cursor:not-allowed}.nat-payment-choice input{flex:0 0 18px!important;width:18px!important;height:18px!important;min-height:18px!important;margin:0!important;padding:0!important;accent-color:#17a34a}.nat-payment-choice span{display:grid;gap:2px}.nat-payment-choice b{font-size:13px}.nat-payment-choice small{color:#666;font-size:10px;line-height:1.3}.nat-nequi-fields{margin-top:10px;padding:12px;border:1px solid #d5b6ef;border-radius:13px;background:#faf4ff}.nat-nequi-fields[hidden]{display:none!important}.nat-nequi-fields>p{margin:0 0 5px;color:#644477;font-size:11px;line-height:1.4}.nat-nequi-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.nat-nequi-grid label{margin-top:9px!important}.dark .nat-payment-choice,html.nat-dark .nat-payment-choice{border-color:#4a4a4a}.dark .nat-payment-choice label,html.nat-dark .nat-payment-choice label{border-color:#4a4a4a;background:#282828;color:#f4f4f4}.dark .nat-payment-choice label:has(input:checked),html.nat-dark .nat-payment-choice label:has(input:checked){border-color:#55c87a;background:#173523;box-shadow:inset 0 0 0 1px #55c87a}.dark .nat-payment-choice small,html.nat-dark .nat-payment-choice small{color:#bdbdbd}.dark .nat-nequi-fields,html.nat-dark .nat-nequi-fields{border-color:#6c4f7e;background:#29202e;color:#f5edf9}.dark .nat-nequi-fields>p,html.nat-dark .nat-nequi-fields>p{color:#ddc5e9}
@keyframes nat-content-in { from{opacity:.01;transform:translateY(7px)} to{opacity:1;transform:none} }
@keyframes nat-item-in { from{opacity:.01;transform:translateY(8px) scale(.995)} to{opacity:1;transform:none} }
@keyframes nat-overlay-in { from{opacity:0} to{opacity:1} }
@keyframes nat-sheet-in { from{opacity:.01;transform:translateY(12px) scale(.99)} to{opacity:1;transform:none} }
@keyframes nat-page-out { to{opacity:0;transform:translateY(-3px)} }
@keyframes nat-page-in { from{opacity:0;transform:translateY(6px)} }

body.dark input::placeholder,
body.dark textarea::placeholder { color: #aaa; }

.nat-back-link,
main > p > a,
a.back {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 42px;
  padding: 10px 15px;
  border: 1px solid #d3d3d3;
  border-radius: 999px;
  color: #171717;
  background: #fffefa;
  text-decoration: none;
  font-size: 14px;
  font-weight: 800;
  box-shadow: 0 3px 9px #00000012;
}

body.dark .nat-back-link,
html.nat-dark .nat-back-link,
body.dark main > p > a,
html.nat-dark main > p > a,
body.dark a.back {
  color: #f5f5f5 !important;
  background: #242424 !important;
  border-color: #4b4b4b !important;
}

html.nat-dark h1,
html.nat-dark h2,
html.nat-dark h3,
html.nat-dark strong,
html.nat-dark p,
html.nat-dark small { color: #f2f2f2; }

html.nat-dark .type,
html.nat-dark .tag { color:#f5f5f5 !important;background:#333 !important; }

.product-page { width:100%;max-width:820px;overflow:hidden; }
.product-detail { grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;width:100%;min-width:0;overflow:hidden; }
.product-detail > div { width:100%;min-width:0; }
.product-detail .hero { display:block;max-width:100%;margin-inline:auto; }
.product-detail .thumbs { width:100%;max-width:100%;padding:1px 0 5px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin; }
.product-detail .thumbs button { flex:0 0 auto; }
.product-detail .thumbs button.active { border-color:currentColor; }
.product-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.product-facts span{display:grid;gap:4px;padding:11px;border:1px solid #ddd;border-radius:10px;background:#f3f1ec}.product-facts small{color:#666;font-weight:900}.product-facts .wide{grid-column:1/-1}html.nat-dark .product-facts span{background:#292929;border-color:#474747}html.nat-dark .product-facts small{color:#bbb!important}@media(max-width:420px){.product-facts{grid-template-columns:1fr}.product-facts .wide{grid-column:auto}}

.owner-item-actions { display:flex;gap:8px;margin-top:auto; }
.owner-item-actions a,.owner-item-actions button { flex:1;min-width:0;border:0;border-radius:8px;background:#111;color:#fff;font-weight:800;cursor:pointer; }
html.nat-dark .owner-item-actions button { color:#f5f5f5 !important;background:#333 !important; }

.store-card,.service,.appointment { content-visibility:auto;contain-intrinsic-size:auto 420px; }
.nat-skeleton-card{min-height:390px;border:1px solid #dedbd3;border-radius:14px;background:linear-gradient(100deg,#ece9e2 20%,#fffefa 45%,#ece9e2 70%);background-size:220% 100%;animation:nat-loading 1.1s linear infinite}html.nat-dark .nat-skeleton-card{border-color:#3d3d3d;background:linear-gradient(100deg,#1d1d1d 20%,#292929 45%,#1d1d1d 70%);background-size:220% 100%}.empty-state button{min-height:40px;margin-left:8px;padding:8px 12px;border:0;border-radius:9px;background:#111;color:#fff;font-weight:800}

.nat-checkout-overlay{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:18px;background:#050505b8;backdrop-filter:blur(6px);overflow:auto}.nat-checkout-card{width:min(100%,610px);max-height:calc(100dvh - 36px);overflow:auto;padding:24px;border:1px solid #ddd;border-radius:22px;background:#fff;color:#111;box-shadow:0 28px 80px #0007}.nat-checkout-card header{display:flex;align-items:start;justify-content:space-between;gap:12px}.nat-checkout-card h2{margin:3px 0 0}.nat-checkout-card header small{font-weight:900;letter-spacing:1px}.nat-checkout-close{width:42px;height:42px;border:0;border-radius:50%;background:#eee;font-size:26px}.nat-checkout-product{padding:12px 14px;border-radius:12px;background:#f3f3f1;font-weight:800}.nat-checkout-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.nat-checkout-card label{display:grid;gap:6px;margin-top:12px;font-size:13px;font-weight:800}.nat-checkout-card input,.nat-checkout-card select,.nat-checkout-card textarea{width:100%;min-height:46px;padding:12px;border:1px solid #bbb;border-radius:11px;background:#fff;color:#111}.nat-checkout-card textarea{min-height:82px;resize:vertical}.nat-checkout-summary{display:flex;justify-content:space-between;gap:12px;margin-top:18px;padding:15px;border-radius:12px;background:#111;color:#fff}.nat-checkout-help{font-size:12px;line-height:1.45;color:#666}.nat-checkout-submit{width:100%;min-height:48px;border:0;border-radius:12px;background:#111;color:#fff;font-weight:900}.nat-checkout-message{min-height:20px;color:#a00020;text-align:center}.nat-checkout-message.success{color:#087a32}.nat-checkout-message a{color:inherit;font-weight:900}.dark .nat-checkout-card,html.nat-dark .nat-checkout-card{border-color:#444;background:#1d1d1d;color:#f4f4f4}.dark .nat-checkout-product,html.nat-dark .nat-checkout-product,.dark .nat-checkout-close,html.nat-dark .nat-checkout-close{background:#303030;color:#fff}.dark .nat-checkout-card input,.dark .nat-checkout-card select,.dark .nat-checkout-card textarea,html.nat-dark .nat-checkout-card input,html.nat-dark .nat-checkout-card select,html.nat-dark .nat-checkout-card textarea{border-color:#555;background:#282828;color:#fff}.dark .nat-checkout-help,html.nat-dark .nat-checkout-help{color:#bbb}
@media(max-width:600px){.nat-checkout-overlay{align-items:end;padding:0}.nat-checkout-card{max-height:92dvh;border-radius:22px 22px 0 0;padding:20px}.nat-checkout-grid,.nat-nequi-grid{grid-template-columns:1fr}.nat-payment-choice{grid-template-columns:1fr 1fr;padding:8px}.nat-payment-choice label{padding:8px!important}.nat-payment-choice small{font-size:9px}}

body.product-loading .topbar,
body.product-loading .product-page { visibility:visible !important; }
body.product-loading .product-detail { min-height:58dvh;position:relative; }
body.product-loading .product-detail::before { content:'Cargando producto…';position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-weight:800;background:linear-gradient(100deg,transparent 20%,rgba(127,127,127,.12) 45%,transparent 70%);background-size:220% 100%;animation:nat-loading 1.1s linear infinite; }
@keyframes nat-loading{to{background-position:-220% 0}}

@media(max-width:600px){
  .product-page{padding-inline:12px!important}
  .product-detail{grid-template-columns:minmax(0,1fr)!important}
  .product-detail .hero{max-height:72dvh;object-fit:contain}
  .topbar,.menu-panel{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .store-card,.service,.form-card,.card,.appointment{transition:transform .22s cubic-bezier(.22,.75,.24,1),border-color .2s ease,background-color .2s ease,opacity .2s ease!important;box-shadow:0 5px 16px rgba(0,0,0,.18)!important}
  .content{padding-bottom:max(42px,env(safe-area-inset-bottom))!important}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
