/*
 * Doudoudis homepage responsive audit v1.4.65.
 * Final presentation layer for [doudoudis_homepage].
 * Loaded after the existing homepage modules so older overrides cannot win.
 */

.doudoudis-home,
.doudoudis-home *,
.doudoudis-home *::before,
.doudoudis-home *::after,
.dou-parts-request-modal,
.dou-parts-request-modal *,
.dou-parts-request-modal *::before,
.dou-parts-request-modal *::after{
  box-sizing:border-box;
}

.doudoudis-home{
  position:relative;
  width:100% !important;
  max-width:100% !important;
  margin-right:0 !important;
  margin-left:0 !important;
  overflow-x:clip;
  color:#142142;
}

.doudoudis-home section,
.doudoudis-home article,
.doudoudis-home div,
.doudoudis-home form,
.doudoudis-home fieldset,
.doudoudis-home ul,
.doudoudis-home li,
.doudoudis-home a,
.doudoudis-home span{
  min-width:0;
}

.doudoudis-home img,
.doudoudis-home svg{
  max-width:100%;
}

.doudoudis-home img{
  height:auto;
}

.doudoudis-home .doudoudis-home__container{
  width:min(1440px,calc(100% - 48px)) !important;
  max-width:1440px;
  margin-right:auto;
  margin-left:auto;
}

.doudoudis-home h1,
.doudoudis-home h2,
.doudoudis-home h3,
.doudoudis-home p,
.doudoudis-home a,
.doudoudis-home span,
.doudoudis-home strong,
.doudoudis-home small,
.dou-parts-request-modal h2,
.dou-parts-request-modal p,
.dou-parts-request-modal label,
.dou-parts-request-modal span{
  overflow-wrap:anywhere;
}

.doudoudis-home .doudoudis-home__button,
.doudoudis-home button,
.doudoudis-home input,
.doudoudis-home select,
.doudoudis-home textarea,
.dou-parts-request-modal button,
.dou-parts-request-modal input,
.dou-parts-request-modal select,
.dou-parts-request-modal textarea{
  max-width:100%;
}

/* Safe consolidation of the previous style.css homepage overrides. */
.doudoudis-home .doudoudis-home-carraro__shell,
.doudoudis-home .doudoudis-home-carraro__cards{
  background:linear-gradient(135deg,#142142 0%,#17305c 100%) !important;
}

.doudoudis-home .doudoudis-home-finder-categories__finder-body .dou-parts-finder__header{
  display:none !important;
}

.doudoudis-home .doudoudis-home-assistance svg,
.dou-parts-request-modal svg{
  display:block;
  flex:0 0 auto;
  max-width:24px;
  max-height:24px;
}

/* Hero */
.doudoudis-home .doudoudis-home-hero{
  overflow:clip;
  padding:clamp(38px,4.2vw,72px) 0 clamp(34px,4vw,62px);
}

.doudoudis-home .doudoudis-home-hero__grid{
  grid-template-columns:minmax(0,1.04fr) minmax(430px,.96fr);
  gap:clamp(38px,4.5vw,76px);
}

.doudoudis-home .doudoudis-home-hero h1{
  max-width:820px;
  font-size:clamp(42px,4.3vw,68px);
  line-height:1;
  text-wrap:balance;
}

.doudoudis-home .doudoudis-home-hero__lead{
  max-width:690px;
}

.doudoudis-home .doudoudis-home-hero__actions{
  align-items:stretch;
  flex-wrap:wrap;
}

.doudoudis-home .doudoudis-home__button{
  min-height:50px;
  padding-inline:20px;
  text-align:center;
}

.doudoudis-home .doudoudis-home-real-visual{
  width:min(100%,620px);
  max-width:100%;
  min-height:clamp(390px,31vw,440px);
  overflow:hidden;
}

.doudoudis-home .doudoudis-home-real-visual::after{
  right:-24px;
  bottom:-30px;
}

/* CarraroSpray */
.doudoudis-home .doudoudis-home-carraro,
.doudoudis-home .doudoudis-home-tractors{
  padding-bottom:clamp(30px,3.6vw,56px);
}

.doudoudis-home .doudoudis-home-carraro__shell{
  grid-template-columns:minmax(330px,1.65fr) minmax(0,5.35fr) !important;
}

.doudoudis-home .doudoudis-home-carraro__intro{
  min-width:0;
  padding:clamp(24px,2.1vw,32px) !important;
}

.doudoudis-home .doudoudis-home-carraro__brand-logo{
  width:min(100%,310px) !important;
}

.doudoudis-home .doudoudis-home-carraro__actions a{
  min-height:44px !important;
  padding:10px 15px !important;
  font-size:9px !important;
  line-height:1.25;
  text-align:center;
  white-space:normal;
}

.doudoudis-home .doudoudis-home-carraro__cards{
  display:grid !important;
  grid-template-columns:repeat(7,minmax(0,1fr)) !important;
  align-items:stretch;
  overflow:visible !important;
  gap:8px !important;
  padding:10px !important;
}

.doudoudis-home .doudoudis-home-carraro-card{
  width:auto !important;
  min-width:0 !important;
  min-height:0 !important;
}

.doudoudis-home .doudoudis-home-carraro-card__media{
  height:auto !important;
  aspect-ratio:4/3;
}

.doudoudis-home .doudoudis-home-carraro-card__media img{
  object-fit:cover;
}

.doudoudis-home .doudoudis-home-carraro-card strong{
  flex:1 1 auto;
  min-height:58px !important;
  padding:9px 7px !important;
  font-size:10px !important;
  line-height:1.25 !important;
}

/* Tractor brands */
.doudoudis-home .doudoudis-home-tractors__shell{
  grid-template-columns:minmax(310px,1.25fr) minmax(0,4.75fr) !important;
  min-height:0 !important;
}

.doudoudis-home .doudoudis-home-tractors__intro{
  padding:clamp(26px,2.3vw,34px) !important;
}

.doudoudis-home .doudoudis-home-tractors__intro>a{
  width:fit-content;
  max-width:100%;
  min-width:0 !important;
  min-height:46px;
  padding:11px 18px;
  white-space:normal;
  text-align:center;
}

.doudoudis-home .doudoudis-home-tractor-brands{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  overflow:visible !important;
  gap:12px !important;
  padding:16px !important;
}

.doudoudis-home .doudoudis-home-tractor-brand{
  width:auto !important;
  min-width:0 !important;
  min-height:218px !important;
}

.doudoudis-home .doudoudis-home-tractor-brand__media{
  min-height:150px;
  padding:22px 16px 16px;
}

.doudoudis-home .doudoudis-home-tractor-brand__media img{
  width:auto;
  height:auto;
  max-width:min(118px,100%);
  max-height:104px;
  object-fit:contain;
}

/* Parts Finder + primary categories */
.doudoudis-home .doudoudis-home-finder-categories{
  overflow:clip;
  padding-top:clamp(18px,2.5vw,36px);
  padding-bottom:clamp(34px,4.5vw,68px);
}

.doudoudis-home .doudoudis-home-finder-categories__grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  align-items:stretch !important;
  gap:clamp(18px,2vw,28px) !important;
}

.doudoudis-home .doudoudis-home-finder-categories__finder-panel,
.doudoudis-home .doudoudis-home-finder-categories__categories-panel{
  display:flex !important;
  flex-direction:column;
  width:100%;
  height:100% !important;
  min-height:0 !important;
  overflow:hidden;
}

.doudoudis-home .doudoudis-home-finder-categories__panel-head{
  flex:0 0 auto;
  min-height:122px;
  padding:24px 24px 20px !important;
}

.doudoudis-home .doudoudis-home-finder-categories__panel-head h2{
  font-size:clamp(25px,2.1vw,34px) !important;
  line-height:1.08;
  text-wrap:balance;
}

.doudoudis-home .doudoudis-home-finder-categories__finder-body{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  min-height:0 !important;
  padding:18px !important;
}

.doudoudis-home .doudoudis-home-finder-categories__finder-body .dou-parts-finder,
.doudoudis-home .doudoudis-home-finder-categories__finder-body .dou-parts-finder--full{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  width:100% !important;
  max-width:none !important;
  min-height:0 !important;
  margin:0 !important;
}

.doudoudis-home .doudoudis-home-finder-categories__category-grid{
  display:grid !important;
  flex:1 1 auto;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  grid-auto-rows:1fr;
  align-items:stretch;
  overflow:visible !important;
  gap:12px !important;
  padding:18px !important;
}

.doudoudis-home .doudoudis-home-finder-category{
  width:auto !important;
  min-width:0 !important;
  min-height:0 !important;
}

.doudoudis-home .doudoudis-home-finder-category__media{
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:1.35/1;
}

.doudoudis-home .doudoudis-home-finder-category__media img{
  width:100%;
  height:100%;
  object-fit:contain !important;
}

.doudoudis-home .doudoudis-home-finder-category__label{
  min-height:46px !important;
  padding:9px 7px !important;
  font-size:10px !important;
  line-height:1.2;
  text-align:center;
}

.doudoudis-home .dou-parts-finder,
.doudoudis-home .dou-parts-finder *{
  min-width:0;
}

.doudoudis-home .dou-filter-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

.doudoudis-home .dou-smart-search-control,
.doudoudis-home .dou-smart-search-field,
.doudoudis-home .dou-filter-section,
.doudoudis-home .dou-filter-grid{
  width:100%;
  max-width:100%;
}

.doudoudis-home .dou-parts-finder input,
.doudoudis-home .dou-parts-finder select,
.doudoudis-home .dou-parts-finder textarea,
.doudoudis-home .dou-parts-finder button,
.doudoudis-home .dou-parts-finder .button{
  min-height:48px;
  max-width:100%;
}

.doudoudis-home .dou-parts-finder input,
.doudoudis-home .dou-parts-finder select,
.doudoudis-home .dou-parts-finder textarea{
  width:100%;
}

.doudoudis-home .dou-smart-search-submit{
  width:auto;
  min-width:150px;
  padding-inline:18px;
}

/* Payment cards */
.doudoudis-home .doudoudis-home-payments{
  padding:clamp(16px,2vw,26px) 0 clamp(38px,4.5vw,62px);
}

.doudoudis-home .doudoudis-home-payments__shell{
  padding:clamp(28px,3vw,42px);
}

.doudoudis-home .doudoudis-home-payments__grid{
  align-items:stretch;
}

.doudoudis-home .doudoudis-payment-card{
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:330px;
}

.doudoudis-home .doudoudis-payment-card__top{
  flex:0 0 auto;
  min-height:60px;
  margin-bottom:22px;
}

.doudoudis-home .doudoudis-payment-card h3{
  min-height:54px;
  text-wrap:balance;
}

.doudoudis-home .doudoudis-payment-card>p{
  min-height:68px;
}

.doudoudis-home .doudoudis-payment-card__points{
  margin-top:auto;
}

.doudoudis-home .doudoudis-payment-brand.is-klarna{
  flex:0 0 104px !important;
  width:104px !important;
  height:auto !important;
  max-width:104px !important;
  max-height:58px !important;
}

.doudoudis-home .doudoudis-payment-brand.is-klarna img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  max-height:58px !important;
  aspect-ratio:1000/556;
  object-fit:contain !important;
}

/* Parts request assistance */
.doudoudis-home .doudoudis-home-assistance{
  padding:12px 0 clamp(40px,4vw,58px);
  overflow:clip;
}

.doudoudis-home .doudoudis-home-assistance__shell{
  min-height:0 !important;
  padding:clamp(24px,3vw,40px) !important;
}

.doudoudis-home .doudoudis-home-assistance__content{
  width:100%;
  max-width:1120px;
  padding:clamp(18px,2vw,28px) !important;
}

.doudoudis-home .doudoudis-home-assistance__content h2{
  max-width:940px;
  font-size:clamp(34px,3.5vw,56px) !important;
  line-height:1.02;
  text-wrap:balance;
}

.doudoudis-home .doudoudis-home-assistance__actions{
  align-items:stretch;
}

.doudoudis-home .doudoudis-home-assistance__button{
  min-height:48px;
  white-space:normal;
  text-align:center;
}

/* Modal: viewport-safe at every supported phone width. */
body.dou-parts-request-is-open{
  overflow:hidden !important;
  touch-action:none;
}

.dou-parts-request-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:100%;
  height:100%;
  padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
  overflow:hidden;
  overscroll-behavior:contain;
}

.dou-parts-request-modal[hidden]{
  display:none !important;
}

.dou-parts-request-modal__dialog,
.dou-parts-request-modal__dialog.is-refined{
  display:flex !important;
  flex-direction:column;
  width:min(860px,100%) !important;
  max-width:100% !important;
  max-height:calc(100dvh - 24px) !important;
  margin:0 !important;
  overflow:hidden !important;
}

.dou-parts-request-modal__dialog.is-refined>.dou-parts-request-modal__header{
  flex:0 0 auto;
  padding:22px 64px 18px 24px !important;
}

.dou-parts-request-modal__dialog.is-refined .dou-parts-request-modal__close{
  top:12px !important;
  right:12px !important;
  width:44px !important;
  min-width:44px !important;
  height:44px !important;
  min-height:44px !important;
}

.dou-parts-request-modal__dialog.is-refined .dou-parts-request-form{
  flex:1 1 auto;
  min-height:0 !important;
  max-height:none !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

.dou-parts-request-modal__dialog.is-refined .dou-parts-request-form__grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.dou-parts-request-modal__dialog.is-refined .dou-parts-request-field input,
.dou-parts-request-modal__dialog.is-refined .dou-parts-request-field select,
.dou-parts-request-modal__dialog.is-refined .dou-parts-request-field textarea{
  width:100%;
  max-width:100%;
  font-size:16px;
}

.dou-parts-request-modal__dialog.is-refined .dou-parts-request-form__footer{
  z-index:2;
}
