/* Estiva Responsive Hardening Layer v7
   Scope: mobile, iPad/tablet, and admin-dashboard responsiveness across the full static HTML product.
   This layer does not introduce a new visual theme; it stabilizes the supplied Estiva navy/gold design. */
:root{
  --estiva-mobile-gutter:18px;
  --estiva-tablet-gutter:32px;
  --estiva-admin-mobile-top:0px;
}
html,body{max-width:100%;overflow-x:hidden!important;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
*,*::before,*::after{box-sizing:border-box;}
img,svg,video,canvas,iframe{max-width:100%;}
img,video{height:auto;}
a,button,input,select,textarea{touch-action:manipulation;}
input,select,textarea,button{max-width:100%;}
[class*="overflow-x-auto"]{-webkit-overflow-scrolling:touch;}
.estiva-site-header,.estiva-admin-sidebar,.estiva-admin-topbar{max-width:100vw;}
.estiva-site-nav,.estiva-admin-nav{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;}
.estiva-site-nav a,.estiva-admin-nav a{flex-shrink:0;}
body.estiva-frontend-unified main,body.estiva-frontend-unified section,body.estiva-frontend-unified footer{max-width:100vw;}
body.estiva-frontend-unified h1,body.estiva-frontend-unified h2,body.estiva-frontend-unified h3,body.estiva-admin-unified h1,body.estiva-admin-unified h2,body.estiva-admin-unified h3{overflow-wrap:break-word;word-break:normal;}
body.estiva-frontend-unified .grid,body.estiva-admin-unified .grid{min-width:0;}
body.estiva-frontend-unified .flex,body.estiva-admin-unified .flex{min-width:0;}
body.estiva-frontend-unified [class*="max-w-container"],body.estiva-admin-unified [class*="max-w-container"]{max-width:100%!important;}
.estiva-v7-scroll-table{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
body.estiva-admin-unified table{border-collapse:collapse;}
body.estiva-admin-unified .overflow-x-auto table,body.estiva-admin-unified table.w-full{min-width:760px;}

@media (min-width:721px) and (max-width:1180px){
  .estiva-site-shell{padding-left:var(--estiva-tablet-gutter)!important;padding-right:var(--estiva-tablet-gutter)!important;gap:16px!important;}
  .estiva-site-nav{order:3;width:100%;justify-content:flex-start;gap:14px;padding-bottom:2px;}
  .estiva-site-actions{margin-left:auto;}
  body.estiva-frontend-unified .text-display-hero,body.estiva-frontend-unified [class*="text-display-hero"]{font-size:clamp(46px,7vw,64px)!important;line-height:1.06!important;}
  body.estiva-frontend-unified section[class*="h-[921px]"],body.estiva-frontend-unified section[class*="h-[870px]"],body.estiva-frontend-unified section[class*="h-[819px]"]{height:auto!important;min-height:620px!important;padding-top:72px!important;padding-bottom:72px!important;}
  body.estiva-admin-unified main,body.estiva-admin-unified [class*="ml-64"]{margin-left:84px!important;}
  body.estiva-admin-unified [class*="mr-80"]{margin-right:0!important;}
  body.estiva-admin-unified .grid[class*="lg:grid-cols-3"],body.estiva-admin-unified .grid[class*="lg:grid-cols-4"],body.estiva-admin-unified .grid[class*="xl:grid-cols-4"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

@media (max-width:720px){
  body{min-width:0!important;}
  .estiva-site-header{position:sticky!important;top:0!important;z-index:200!important;background:#0A192F!important;}
  .estiva-site-shell{display:grid!important;grid-template-columns:1fr!important;align-items:start!important;min-height:0!important;padding:14px var(--estiva-mobile-gutter)!important;gap:12px!important;}
  .estiva-site-brand{width:100%!important;min-width:0!important;gap:12px!important;}
  .estiva-site-mark{width:42px!important;height:42px!important;font-size:23px!important;flex:0 0 42px!important;}
  .estiva-site-name{font-size:clamp(22px,7vw,30px)!important;line-height:1.1!important;white-space:normal!important;}
  .estiva-site-nav{width:100%!important;max-width:100%!important;display:flex!important;justify-content:flex-start!important;gap:8px!important;overflow-x:auto!important;padding:4px 0 8px!important;scroll-snap-type:x proximity;}
  .estiva-site-nav a{scroll-snap-align:start;display:inline-flex!important;align-items:center!important;min-height:38px!important;padding:9px 12px!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.10)!important;background:rgba(255,255,255,.06)!important;font-size:12px!important;line-height:1!important;white-space:nowrap!important;}
  .estiva-site-nav a.estiva-active{background:rgba(229,199,107,.16)!important;border-color:rgba(229,199,107,.45)!important;}
  .estiva-site-actions{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;min-width:0!important;}
  .estiva-site-pill,.estiva-site-cta{width:100%!important;min-width:0!important;height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:0 10px!important;font-size:12px!important;line-height:1.1!important;}
  .estiva-site-pill .material-symbols-outlined{font-size:18px!important;}
  body.estiva-frontend-unified .px-margin-desktop,body.estiva-frontend-unified .md\:px-margin-desktop,body.estiva-frontend-unified [class*="px-margin-desktop"]{padding-left:var(--estiva-mobile-gutter)!important;padding-right:var(--estiva-mobile-gutter)!important;}
  body.estiva-frontend-unified .px-margin-mobile,body.estiva-frontend-unified [class*="px-margin-mobile"]{padding-left:var(--estiva-mobile-gutter)!important;padding-right:var(--estiva-mobile-gutter)!important;}
  body.estiva-frontend-unified .py-section-gap-lg,body.estiva-frontend-unified [class*="py-section-gap-lg"]{padding-top:56px!important;padding-bottom:56px!important;}
  body.estiva-frontend-unified .text-display-hero,body.estiva-frontend-unified .text-display-hero-mobile,body.estiva-frontend-unified [class*="text-display-hero"]{font-size:clamp(38px,11vw,48px)!important;line-height:1.08!important;letter-spacing:-.035em!important;}
  body.estiva-frontend-unified .text-headline-lg,body.estiva-frontend-unified [class*="text-headline-lg"]{font-size:clamp(28px,8vw,36px)!important;line-height:1.16!important;}
  body.estiva-frontend-unified .text-headline-md,body.estiva-frontend-unified [class*="text-headline-md"]{font-size:clamp(22px,6vw,28px)!important;line-height:1.22!important;}
  body.estiva-frontend-unified section[class*="h-[921px]"],body.estiva-frontend-unified section[class*="h-[870px]"],body.estiva-frontend-unified section[class*="h-[819px]"],body.estiva-frontend-unified section[class*="h-[800px]"],body.estiva-frontend-unified section[class*="h-[716px]"]{height:auto!important;min-height:auto!important;padding-top:72px!important;padding-bottom:52px!important;}
  body.estiva-frontend-unified section[class*="min-h-[921px]"],body.estiva-frontend-unified section[class*="min-h-[700px]"],body.estiva-frontend-unified section[class*="min-h-[716px]"]{min-height:auto!important;}
  body.estiva-frontend-unified section.relative.flex.items-center,body.estiva-frontend-unified section.relative.flex.items-center.justify-center{align-items:flex-start!important;justify-content:flex-start!important;}
  body.estiva-frontend-unified .grid{grid-template-columns:1fr!important;}
  body.estiva-frontend-unified .md\:grid-cols-2,body.estiva-frontend-unified .md\:grid-cols-3,body.estiva-frontend-unified .md\:grid-cols-4,body.estiva-frontend-unified .lg\:grid-cols-2,body.estiva-frontend-unified .lg\:grid-cols-3,body.estiva-frontend-unified .lg\:grid-cols-4{grid-template-columns:1fr!important;}
  body.estiva-frontend-unified .md\:flex-row,body.estiva-frontend-unified .lg\:flex-row{flex-direction:column!important;}
  body.estiva-frontend-unified .items-end,body.estiva-frontend-unified .md\:items-end,body.estiva-frontend-unified .lg\:items-end{align-items:flex-start!important;}
  body.estiva-frontend-unified .text-center{max-width:100%;}
  body.estiva-frontend-unified .luxury-glass,body.estiva-frontend-unified [class*="backdrop-blur"],body.estiva-frontend-unified form{width:100%!important;max-width:100%!important;}
  body.estiva-frontend-unified input,body.estiva-frontend-unified select,body.estiva-frontend-unified textarea{font-size:16px!important;width:100%!important;}
  body.estiva-frontend-unified [class*="w-[400px]"],body.estiva-frontend-unified [class*="w-[500px]"],body.estiva-frontend-unified [class*="w-[700px]"],body.estiva-frontend-unified [class*="max-w-[1200px]"],body.estiva-frontend-unified [class*="max-w-[1440px]"],body.estiva-frontend-unified [class*="max-w-[1500px]"],body.estiva-frontend-unified [class*="max-w-[1600px]"]{width:100%!important;max-width:100%!important;}
  body.estiva-frontend-unified [class*="text-[400px]"]{font-size:120px!important;right:-24px!important;opacity:.05!important;}
  .estiva-floating-contact{right:14px!important;bottom:14px!important;gap:10px!important;z-index:220!important;}
  .estiva-floating-contact a{width:48px!important;height:48px!important;}
  .estiva-site-footer{padding:52px var(--estiva-mobile-gutter) 24px!important;}
  .estiva-footer-grid,.estiva-footer-grid-v6{grid-template-columns:1fr!important;gap:28px!important;}
  .estiva-footer-bottom{flex-direction:column!important;align-items:flex-start!important;}
  .estiva-client-cta-strip{padding:18px!important;margin-bottom:34px!important;}
  .estiva-client-cta-actions{width:100%!important;display:grid!important;grid-template-columns:1fr!important;}

  body.estiva-admin-unified{overflow-x:hidden!important;background:#faf9fa!important;}
  body.estiva-admin-unified.estiva-builder-page{height:auto!important;min-height:100vh!important;display:block!important;overflow:auto!important;}
  .estiva-admin-sidebar{position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:auto!important;max-height:none!important;display:block!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.10)!important;box-shadow:none!important;}
  .estiva-admin-brand{padding:16px var(--estiva-mobile-gutter)!important;}
  .estiva-admin-brand strong{font-size:22px!important;}
  .estiva-admin-brand span{display:block!important;font-size:9px!important;}
  .estiva-admin-nav{display:flex!important;flex-direction:row!important;gap:8px!important;padding:10px var(--estiva-mobile-gutter) 14px!important;overflow-x:auto!important;white-space:nowrap!important;}
  .estiva-admin-section-title,.estiva-admin-footer{display:none!important;}
  .estiva-admin-nav a{min-width:48px!important;min-height:48px!important;justify-content:center!important;padding:10px!important;border-radius:14px!important;background:rgba(255,255,255,.05)!important;}
  .estiva-admin-nav a span:last-child{display:none!important;}
  .estiva-admin-nav .material-symbols-outlined{font-size:24px!important;}
  .estiva-admin-nav a.estiva-active{background:rgba(229,199,107,.18)!important;color:#E5C76B!important;box-shadow:inset 0 -3px 0 #E5C76B!important;}
  .estiva-admin-topbar{position:relative!important;left:auto!important;right:auto!important;top:auto!important;width:100%!important;height:auto!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important;padding:14px var(--estiva-mobile-gutter)!important;box-shadow:0 6px 18px rgba(10,25,47,.08)!important;}
  .estiva-admin-search{width:100%!important;min-width:0!important;height:auto!important;min-height:48px!important;border-radius:16px!important;font-size:14px!important;}
  .estiva-admin-actions{width:100%!important;justify-content:space-between!important;gap:8px!important;}
  .estiva-admin-icon{width:42px!important;height:42px!important;flex:0 0 42px!important;}
  .estiva-admin-user{margin-left:auto!important;}
  body.estiva-admin-unified main,body.estiva-admin-unified main.ml-64,body.estiva-admin-unified [class*="ml-64"],body.estiva-admin-unified > div[class*="ml-64"]{margin-left:0!important;}
  body.estiva-admin-unified [class*="mr-80"],body.estiva-admin-unified .mr-80{margin-right:0!important;}
  body.estiva-admin-unified [class*="pl-64"],body.estiva-admin-unified .pl-64{padding-left:0!important;}
  body.estiva-admin-unified main{width:100%!important;max-width:100vw!important;padding:18px var(--estiva-mobile-gutter)!important;padding-top:18px!important;min-height:auto!important;overflow:hidden!important;}
  body.estiva-admin-unified main > div,body.estiva-admin-unified main > section{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;}
  body.estiva-admin-unified .max-w-container-max,body.estiva-admin-unified .max-w-7xl,body.estiva-admin-unified .max-w-6xl,body.estiva-admin-unified .max-w-5xl,body.estiva-admin-unified .max-w-4xl{max-width:100%!important;width:100%!important;}
  body.estiva-admin-unified .p-gutter{padding:16px!important;}
  body.estiva-admin-unified .p-16{padding:20px!important;} body.estiva-admin-unified .p-12{padding:18px!important;} body.estiva-admin-unified .p-10{padding:18px!important;} body.estiva-admin-unified .p-8{padding:18px!important;} body.estiva-admin-unified .p-6{padding:16px!important;}
  body.estiva-admin-unified .px-8{padding-left:16px!important;padding-right:16px!important;} body.estiva-admin-unified .py-8{padding-top:18px!important;padding-bottom:18px!important;}
  body.estiva-admin-unified .space-y-component-gap > :not([hidden]) ~ :not([hidden]){margin-top:18px!important;}
  body.estiva-admin-unified .grid{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;}
  body.estiva-admin-unified .md\:grid-cols-2,body.estiva-admin-unified .md\:grid-cols-3,body.estiva-admin-unified .lg\:grid-cols-2,body.estiva-admin-unified .lg\:grid-cols-3,body.estiva-admin-unified .lg\:grid-cols-4,body.estiva-admin-unified .xl\:grid-cols-4{grid-template-columns:1fr!important;}
  body.estiva-admin-unified .md\:flex-row,body.estiva-admin-unified .lg\:flex-row{flex-direction:column!important;}
  body.estiva-admin-unified .items-end,body.estiva-admin-unified .md\:items-end,body.estiva-admin-unified .lg\:items-end{align-items:flex-start!important;}
  body.estiva-admin-unified .justify-between{gap:12px!important;}
  body.estiva-admin-unified h1,body.estiva-admin-unified .text-display-hero,body.estiva-admin-unified [class*="text-display-hero"]{font-size:clamp(30px,9vw,40px)!important;line-height:1.12!important;text-align:left!important;}
  body.estiva-admin-unified h2,body.estiva-admin-unified .text-headline-lg,body.estiva-admin-unified [class*="text-headline-lg"]{font-size:clamp(24px,7vw,32px)!important;line-height:1.16!important;text-align:left!important;}
  body.estiva-admin-unified h3,body.estiva-admin-unified .text-headline-sm,body.estiva-admin-unified .text-headline-md{font-size:clamp(20px,6vw,26px)!important;line-height:1.2!important;}
  body.estiva-admin-unified [class*="w-[400px]"],body.estiva-admin-unified [class*="w-[500px]"],body.estiva-admin-unified [class*="w-[700px]"],body.estiva-admin-unified [class*="max-w-[1200px]"],body.estiva-admin-unified [class*="max-w-[1440px]"],body.estiva-admin-unified [class*="max-w-[1500px]"],body.estiva-admin-unified [class*="max-w-[1600px]"]{width:100%!important;max-width:100%!important;}
  body.estiva-admin-unified [class*="h-[921px]"],body.estiva-admin-unified [class*="h-[870px]"],body.estiva-admin-unified [class*="h-[819px]"],body.estiva-admin-unified [class*="h-[716px]"],body.estiva-admin-unified [class*="h-[600px]"],body.estiva-admin-unified [class*="h-[500px]"],body.estiva-admin-unified [class*="h-[400px]"]{height:auto!important;min-height:260px!important;}
  body.estiva-admin-unified [class*="min-h-[1200px]"],body.estiva-admin-unified [class*="min-h-[1100px]"]{min-height:520px!important;}
  body.estiva-admin-unified .h-screen{height:auto!important;min-height:100vh!important;}
  body.estiva-admin-unified .overflow-hidden{overflow:visible!important;}
  body.estiva-admin-unified .overflow-x-auto{overflow-x:auto!important;max-width:100%!important;}
  body.estiva-admin-unified .overflow-x-auto table{min-width:760px!important;}
  body.estiva-admin-unified input,body.estiva-admin-unified select,body.estiva-admin-unified textarea{font-size:16px!important;width:100%!important;}
  body.estiva-admin-unified button,body.estiva-admin-unified a{max-width:100%;}
  body.estiva-admin-unified .flex.bg-surface-white,body.estiva-admin-unified .flex.bg-surface-container-low{max-width:100%!important;overflow-x:auto!important;}
  body.estiva-builder-page .estiva-admin-sidebar,body.estiva-builder-page .estiva-admin-topbar{display:block!important;}
  body.estiva-builder-page main{margin-left:0!important;margin-right:0!important;padding:0!important;width:100%!important;display:block!important;height:auto!important;}
  body.estiva-builder-page main > header{height:auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:12px!important;padding:16px!important;}
  body.estiva-builder-page .preview-canvas{padding:16px!important;overflow:visible!important;}
  body.estiva-builder-page .preview-canvas > div{width:100%!important;max-width:100%!important;min-height:auto!important;}
  body.estiva-builder-page .grid-cols-2,body.estiva-builder-page .grid-cols-3{grid-template-columns:1fr!important;}
}

@media (max-width:420px){
  :root{--estiva-mobile-gutter:16px;}
  .estiva-site-name{font-size:25px!important;}
  .estiva-site-actions{grid-template-columns:1fr!important;}
  body.estiva-frontend-unified .text-display-hero,body.estiva-frontend-unified .text-display-hero-mobile,body.estiva-frontend-unified [class*="text-display-hero"]{font-size:clamp(34px,10.5vw,42px)!important;}
  body.estiva-admin-unified main{padding-left:16px!important;padding-right:16px!important;}
  .estiva-admin-nav a{min-width:46px!important;}
  .estiva-admin-actions{overflow-x:auto!important;justify-content:flex-start!important;}
}
