/* PORTAL WEB AC v1.0.0 · ULTRA PREMIUM UX LAYER
   Capa additiva: poliment visual, accessibilitat, focus, profunditat i feedback.
   No modifica contingut editorial ni prioritza cap CTA concret. */

:root{
  --ac-premium-navy:#203755;
  --ac-premium-blue:#014881;
  --ac-premium-blue-2:#0f4d81;
  --ac-premium-ice:#f4f7fb;
  --ac-premium-line:rgba(32,55,85,.13);
  --ac-premium-shadow:0 22px 60px rgba(14,39,67,.12);
  --ac-premium-shadow-hover:0 30px 78px rgba(14,39,67,.18);
  --ac-premium-ring:0 0 0 4px rgba(1,72,129,.18);
  --ac-premium-radius:24px;
}

html{scroll-behavior:smooth;}
body.ac-premium{
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  background-image:
    radial-gradient(circle at 12% 0%,rgba(15,77,129,.045),transparent 34rem),
    radial-gradient(circle at 88% 14%,rgba(1,72,129,.035),transparent 28rem);
}
body.ac-premium::selection{background:rgba(1,72,129,.18);color:#122942;}

/* Progrés de lectura/navegació discret i no intrusiu. */
#acPremiumProgress{
  position:fixed;
  z-index:100000;
  inset:0 auto auto 0;
  width:0;
  height:3px;
  pointer-events:none;
  background:linear-gradient(90deg,var(--ac-premium-blue),#3fa1df);
  box-shadow:0 0 14px rgba(15,77,129,.28);
  transform-origin:left center;
  transition:width .08s linear,opacity .25s ease;
}

body.ac-premium .site-header{
  border-bottom:1px solid rgba(255,255,255,.10);
  box-shadow:0 10px 36px rgba(7,27,48,.10);
  -webkit-backdrop-filter:blur(20px) saturate(145%);
  backdrop-filter:blur(20px) saturate(145%);
}
body.ac-premium .site-header::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.30),transparent);
  pointer-events:none;
}

body.ac-premium :is(a,button,input,select,textarea){
  -webkit-tap-highlight-color:transparent;
}
body.ac-premium :is(a,button,input,select,textarea):focus-visible{
  outline:2px solid var(--ac-premium-blue);
  outline-offset:3px;
  box-shadow:var(--ac-premium-ring);
}

body.ac-premium :is(.button,.btn,button){
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background-color .22s ease,color .22s ease;
}
@media (hover:hover){
  body.ac-premium :is(.button,.btn,button):not(:disabled):hover{transform:translateY(-1px);}
}
body.ac-premium :is(.button,.btn,button):not(:disabled):active{transform:translateY(0) scale(.985);}

/* Targetes: profunditat coherent sense alterar jerarquies editorials. */
body.ac-premium :is(.media-card,.news-row,.panel-card,.map-card,.stat-card,.program-card,.programa-card,.detail-card){
  transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease,border-color .28s ease;
}
@media (hover:hover){
  body.ac-premium :is(.media-card,.news-row,.panel-card,.map-card,.stat-card,.program-card,.programa-card,.detail-card):hover{
    box-shadow:var(--ac-premium-shadow-hover);
  }
}

body.ac-premium :is(.section-heading,.territory-heading,.page-heading){
  text-wrap:balance;
}
body.ac-premium :is(h1,h2,h3){text-wrap:balance;}
body.ac-premium p{text-wrap:pretty;}

/* Imatges: evita artefactes de composició en animacions i hover. */
body.ac-premium img{
  image-rendering:auto;
  backface-visibility:hidden;
}

/* Scrollbar subtil a navegadors Chromium/WebKit. */
body.ac-premium::-webkit-scrollbar{width:12px;}
body.ac-premium::-webkit-scrollbar-track{background:#eef3f8;}
body.ac-premium::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,#406382,#203755);
  border:3px solid #eef3f8;
  border-radius:999px;
}

/* Suavitza la primera pintura sense ocultar contingut si JS falla. */
body.ac-premium main{
  animation:acPremiumBoot .38s ease both;
}
@keyframes acPremiumBoot{
  from{opacity:.965;transform:translateY(4px)}
  to{opacity:1;transform:none}
}

/* Mòbil: interaccions tàctils més còmodes. */
@media (max-width:768px){
  body.ac-premium :is(button,.button,.btn){min-height:44px;}
  #acPremiumProgress{height:2px;}
}


/* Transició entre documents, progressiva en navegadors compatibles. */
@view-transition { navigation: auto; }
::view-transition-old(root){animation:acPageOut .16s ease both;}
::view-transition-new(root){animation:acPageIn .24s ease both;}
@keyframes acPageOut{to{opacity:.88;filter:blur(1px)}}
@keyframes acPageIn{from{opacity:.88;filter:blur(2px)}to{opacity:1;filter:none}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  body.ac-premium main{animation:none;}
  body.ac-premium *,body.ac-premium *::before,body.ac-premium *::after{
    scroll-behavior:auto!important;
    transition-duration:.001ms!important;
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
  }
}
