/* The search stays in normal page flow, below the shared navigation. */
body.caz-themed #search-bar-overlay {
  position:relative; inset:auto; z-index:auto; display:none;
  width:calc(100% - 32px); max-width:590px; margin:18px auto 0; padding:7px 8px 7px 16px;
  align-items:center; gap:10px; border:1px solid #b6f2ec70; border-radius:14px;
  background:rgba(6,65,71,.88); color:#eaffff; box-shadow:0 8px 24px #023b4529;
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
}
body.caz-themed #search-bar-overlay.active { display:flex; }
body.caz-themed #search-bar-overlay:focus-within { outline:2px solid #a7eeef; outline-offset:3px; }
body.caz-themed #search-bar-overlay #productSearch {
  flex:1; min-width:0; width:100%; height:44px; margin:0; padding:10px 4px;
  background:transparent !important; border:0 !important; border-radius:0;
  color:#f2ffff !important; box-shadow:none !important; outline:none !important; font:inherit; font-size:16px;
}
body.caz-themed #search-bar-overlay #productSearch::placeholder { color:#c8e8e9 !important; opacity:1; }
body.caz-themed #search-bar-overlay .caz-search-close {
  flex:0 0 42px; display:grid; place-items:center; height:42px; padding:0; margin:0;
  border:1px solid #bbf3ed55; border-radius:10px; background:#c1fff010; color:#edffff; cursor:pointer;
}
body.caz-themed #search-bar-overlay i { position:static; color:inherit; font-size:17px; }
body.caz-themed #search-bar-overlay .caz-search-close:hover { background:#a8f9ed29; }

/* Zoom photographs inside fixed, clipped frames as in the supplied reference. */
body.caz-themed :is(.caz-product-image-frame,.caz-about-image-frame,.brand-card,.hero-image,.promo-card-image) {
  overflow:hidden; isolation:isolate;
}
body.caz-themed .caz-product-image-frame {
  display:block; height:210px; margin-bottom:17px; border-radius:12px;
  border:1px solid #dafcfd26; background:radial-gradient(ellipse at center,#b4f0f21a,transparent 72%);
}
body.caz-themed .caz-product-image-frame > img,
body.caz-themed.caz-admin .caz-product-image-frame > img {
  display:block; width:100%; height:100%; margin:0; padding:20px; object-fit:contain;
  border:0; border-radius:0; background:transparent; box-shadow:none;
}
body.caz-themed.caz-admin .caz-product-image-frame { height:200px; flex:none; margin:0; }
/* Each portrait fills a portrait frame; service pairs share the desktop row. */
body.caz-themed .services-section { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
body.caz-themed .services-section > h2 { grid-column:1/-1; margin-bottom:12px; }
body.caz-themed .services-section .service-block { min-width:0; margin-bottom:20px; }
body.caz-themed .services-section .service-header { margin-bottom:18px; }
body.caz-themed .services-section .full-image-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
body.caz-themed .caz-about-image-frame {
  border:1px solid #d0faf455; border-radius:16px; height:auto; min-width:0;
  padding:0; background:rgba(5,61,67,.66);
  transition:transform .45s ease,border-color .45s ease,box-shadow .45s ease;
}
body.caz-themed .caz-about-image-frame > img {
  display:block; width:100%; height:auto; object-fit:contain; margin:0; border:0; border-radius:0; box-shadow:none;
}
/* Service photos keep their entire image visible, including during hover. */
body.caz-themed .caz-about-image-frame > img,
body.caz-themed .caz-about-image-frame:hover > img { transform:none !important; box-shadow:none !important; }
body.caz-themed :is(.caz-product-image-frame,.caz-about-image-frame,.brand-card,.hero-image,.promo-card-image) > img {
  transform:scale(1); transition:transform .8s cubic-bezier(.2,.65,.3,1) !important;
}
body.caz-themed :is(.hero-content,.brand-card,.product-card,.caz-management-card,.promo-card,.contact-link-item,.hero-actions .btn,.nav-action,.caz-nav-links a) {
  transition:border-color .3s ease,box-shadow .3s ease,background-color .3s ease;
}
body.caz-themed :is(.caz-management-card > i,.contact-link-item > i) { transition:transform .8s cubic-bezier(.2,.65,.3,1); }
@media(hover:hover) and (pointer:fine) {
  body.caz-themed :is(.hero-content,.brand-card,.product-card,.caz-management-card,.promo-card,.contact-link-item,.hero-actions .btn,.nav-action,.caz-nav-links a):hover,
  body.caz-themed.caz-admin .product-item:hover { transform:none !important; }
  body.caz-themed :is(.hero-content,.brand-card,.product-card,.caz-management-card,.promo-card,.contact-link-item):hover,
  body.caz-themed.caz-admin .product-item:hover { border-color:#b8f8f1a8; box-shadow:0 14px 30px #02313945; }
  body.caz-themed .product-card:hover .caz-product-image-frame > img,
  body.caz-themed.caz-admin .product-item:hover .caz-product-image-frame > img,
  body.caz-themed .brand-card:hover > img,
  body.caz-themed .hero-image:hover > img,
  body.caz-themed.caz-promotions-page .promo-card:hover .promo-card-image > img { transform:scale(1.1) !important; }
  body.caz-themed :is(.caz-management-card,.contact-link-item):hover > i { transform:scale(1.1); }
  body.caz-themed .caz-nav-links a:hover { background:#bdf9ef24; box-shadow:inset 0 -2px 0 #b5f6e8; }
  body.caz-themed .caz-about-image-frame:hover { transform:translateY(-4px); border-color:#c0fff2; box-shadow:0 0 0 3px #b6fff014,0 12px 28px #02313940; }
}
@media(max-width:1050px) {
  body.caz-themed .services-section { grid-template-columns:minmax(0,1fr); }
  body.caz-themed .services-section .service-block { width:100%; max-width:760px; margin-inline:auto; }
}
@media(max-width:480px) {
  body.caz-themed .services-section .full-image-grid { grid-template-columns:minmax(0,1fr); max-width:340px; margin-inline:auto; }
}
@media(prefers-reduced-motion:reduce) {
  body.caz-themed .caz-about-image-frame { transition:none; transform:none !important; }
  body.caz-themed :is(.caz-product-image-frame,.caz-about-image-frame,.brand-card,.hero-image,.promo-card-image) > img,
  body.caz-themed :is(.caz-management-card,.contact-link-item) > i { transition:none !important; transform:none !important; }
}

/* Use the available desktop width for three balanced footer columns. */
body.caz-themed:has(.site-footer) { padding-bottom:0 !important; }
body.caz-themed .site-footer { width:100%; padding:36px clamp(20px,3vw,56px) 22px; }
body.caz-themed .footer-container {
  display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); align-items:start;
  width:100%; max-width:none; margin:0; gap:clamp(28px,6vw,110px);
  padding:0 0 28px; border-color:#b6f1ed33;
}
body.caz-themed .footer-brand { max-width:540px; min-width:0; }
body.caz-themed .footer-brand h2 { margin:0 0 12px; font-size:clamp(22px,1.8vw,29px); line-height:1.3; }
body.caz-themed .footer-brand p { margin:0; font-size:16px; line-height:1.75; color:#cae9e9 !important; }
body.caz-themed .footer-links-group { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; min-width:0; }
body.caz-themed .footer-col h3 { margin:0 0 12px; font-size:15px; color:#f0ffff; }
body.caz-themed .footer-col ul { padding:0; margin:0; list-style:none; }
body.caz-themed .footer-col ul li { margin:0 0 8px; }
body.caz-themed .footer-col ul li a { display:inline-block; padding:4px 0; font-size:16px; color:#cceeee !important; }
body.caz-themed .footer-col ul li a:hover { color:#fff !important; text-decoration:underline; text-underline-offset:5px; }
body.caz-themed .footer-bottom { width:100%; max-width:none; min-height:54px; margin:18px 0 0; padding-right:190px; color:#bcdede !important; }
body.caz-themed .footer-bottom p { margin:0; }
@media(max-width:700px) {
  body.caz-themed .footer-container { grid-template-columns:minmax(0,1fr); gap:26px; }
  body.caz-themed .footer-bottom { padding-right:0; padding-bottom:50px; }
}
