/* ==================================================
   LAMINAE PRODUCT PAGE
================================================== */


/* =========================
   HERO
========================= */

.laminae-product-hero{
    margin-bottom:50px;
}

.laminae-product-label{
    display:inline-flex;
    align-items:center;
    padding:10px 18px;
    border-radius:100px;
    background:#eef7fa;
    color:#57B8D3;
    font-size:12px;
    font-weight:600;
    letter-spacing:.12em;
    text-transform:uppercase;
    margin-bottom:24px;
}

.laminae-product-title{
    font-size:72px;
    line-height:.95;
    font-weight:700;
    letter-spacing:-0.04em;
    margin-bottom:28px;
    color:#111;
}

.laminae-product-intro{
    font-size:18px;
    line-height:1.9;
    color:#666;
    max-width:620px;
}


/* =========================
   PRODUCT LAYOUT
========================= */

.single-product div.product{
    max-width:1580px;
    margin:auto;
    padding:90px 70px;
    display:grid;
    grid-template-columns:1.08fr .92fr;
    gap:100px;
    align-items:start;
}


/* =========================
   GALLERY
========================= */

.single-product div.product div.images{
    position:sticky;
    top:120px;
    width:100% !important;
}

.single-product .woocommerce-product-gallery{
    background:#f7f7f7;
    border-radius:36px;
    padding:34px;
}

.single-product .woocommerce-product-gallery__image img{
    width:100% !important;
    height:820px;
    object-fit:cover;
    border-radius:26px;
}

.single-product .woocommerce-product-gallery__trigger{
    top:28px !important;
    right:28px !important;
}


/* =========================
   SUMMARY
========================= */

.single-product div.product div.summary{
    width:100%;
    padding-top:10px;
    display:flex;
    flex-direction:column;
}


/* =========================
   PRICE
========================= */

.single-product .price{
    font-size:44px !important;
    font-weight:700;
    color:#57B8D3 !important;
    margin-top:40px;
    margin-bottom:30px;
}

.single-product .price del{
    opacity:.35;
}


/* ==================================================
   FEATURES INLINE
================================================== */

.laminae-features-inline{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:18px;

    margin-top:40px;

    margin-bottom:40px;

    width:100%;
}


/* card */

.laminae-feature-inline{

    background:#f7f7f7;

    border-radius:22px;

    padding:20px 18px;

    display:flex;

    flex-direction:column;

    align-items:flex-start;

    justify-content:center;

    min-height:120px;

    transition:.35s;
}

.laminae-feature-inline:hover{

    transform:translateY(-4px);

    background:#fbfbfb;
}


/* icon */

.laminae-feature-inline-icon{

    width:46px;

    height:46px;

    border-radius:14px;

    background:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    margin-bottom:16px;
}

.laminae-feature-inline-icon img{

    width:22px;

    height:22px;

    object-fit:contain;

    filter: brightness(0) saturate(100%) invert(65%) sepia(31%) saturate(728%) hue-rotate(157deg) brightness(89%) contrast(88%);
}


/* title */

.laminae-feature-inline span{

    font-size:15px;

    font-weight:600;

    line-height:1.3;

    color:#111;
}


/* =========================
   CART
========================= */

.single-product form.cart{
    display:flex;
    gap:18px;
    align-items:center;
    margin-top:0;
    width:100%;
}

.single-product .quantity{
    width:95px;
}

.single-product .quantity input{
    width:100%;
    height:62px;
    border-radius:16px;
    border:1px solid #ddd;
    background:#fff;
    font-size:17px;
}

.single-product .single_add_to_cart_button{
    flex:1;
    height:62px;
    border-radius:18px !important;
    background:#57B8D3 !important;
    font-size:17px !important;
    font-weight:600 !important;
    letter-spacing:-0.01em;
    transition:.35s;
}

.single-product .single_add_to_cart_button:hover{
    transform:translateY(-3px);
    opacity:.92;
}


/* =========================
   CATEGORY
========================= */

.single-product .product_meta{
    margin-top:30px;
    font-size:14px;
    color:#777;
}

.single-product .product_meta a{
    color:#57B8D3;
}


/* =========================
   SALE BADGE
========================= */

.single-product span.onsale{
    background:#57B8D3 !important;
    border-radius:100px;
    padding:10px 16px !important;
    min-width:auto !important;
    min-height:auto !important;
    line-height:1 !important;
    font-size:13px !important;
    font-weight:600;
    top:24px !important;
    left:24px !important;
}


/* =========================
   TABS
========================= */

.woocommerce-tabs{
    margin-top:140px;
}


/* ==================================================
   INSPIRATION
================================================== */

.laminae-inspiration{

    grid-column:1 / -1;

    width:100%;

    margin-top:140px;
}


/* header */

.laminae-section-head{

    display:flex;

    flex-direction:column;

    gap:14px;

    margin-bottom:50px;
}

.laminae-section-head span{

    font-size:13px;

    font-weight:600;

    letter-spacing:.12em;

    text-transform:uppercase;

    color:#57B8D3;
}

.laminae-section-head h2{

    font-size:56px;

    line-height:.95;

    letter-spacing:-0.04em;

    color:#111;

    max-width:700px;
}


/* grid */

.laminae-inspiration-grid{

    display:grid;

    grid-template-columns:.95fr 1.05fr;

    gap:18px;

    align-items:start;
}


/* item */

.laminae-inspiration-item{

    position:relative;

    overflow:hidden;

    border-radius:28px;

    background:#f7f7f7;

    cursor:pointer;
}

.laminae-inspiration-item img{

    width:100%;

    object-fit:cover;

    display:block;

    transition:
    transform .8s cubic-bezier(.19,1,.22,1),
    filter .5s ease;
}

.laminae-inspiration-item:hover img{

    transform:scale(1.035);

    filter:brightness(1.03);
}


/* layout immagini */

.laminae-inspiration-item:first-child{

    grid-row:span 2;
}

.laminae-inspiration-item:first-child img{

    height:420px;
}

.laminae-inspiration-item:nth-child(2) img{

    height:200px;
}

.laminae-inspiration-item:nth-child(3) img{

    height:200px;
}

.laminae-inspiration-item:nth-child(4){

    grid-column:1 / -1;
}

.laminae-inspiration-item:nth-child(4) img{

    height:220px;
}


/* ==================================================
   SPECS
================================================== */

.laminae-specs{

    grid-column:1 / -1;

    width:100%;

    margin-top:160px;
}

.laminae-specs-grid{

    display:grid;

    grid-template-columns:.75fr 1.25fr;

    gap:28px;

    align-items:start;
}

.laminae-specs-image{

    overflow:hidden;

    border-radius:30px;

    background:#f7f7f7;
}

.laminae-specs-image img{

    width:100%;

    height:520px;

    object-fit:cover;

    display:block;
}

.laminae-specs-table{

    background:#f7f7f7;

    border-radius:34px;

    padding:40px;
}

.laminae-spec-row{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:30px;

    padding:22px 0;

    border-bottom:1px solid #e6e6e6;
}

.laminae-spec-row:last-child{

    border-bottom:none;
}

.laminae-spec-row span{

    font-size:15px;

    color:#777;
}

.laminae-spec-row strong{

    font-size:17px;

    font-weight:600;

    color:#111;

    text-align:right;
}


/* ==================================================
   CTA
================================================== */

.laminae-cta{

    grid-column:1 / -1;

    width:100%;

    margin-top:80px;

    background:#f7f7f7;

    border-radius:40px;

    padding:70px;

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    gap:80px;
}


/* content */

.laminae-cta-content{

    flex:1;
}

.laminae-cta-content span{

    display:inline-block;

    margin-bottom:18px;

    font-size:13px;

    font-weight:600;

    letter-spacing:.12em;

    text-transform:uppercase;

    color:#57B8D3;
}

.laminae-cta-content h2{

    font-size:72px;

    line-height:.9;

    letter-spacing:-0.05em;

    color:#111;

    margin-bottom:30px;

    max-width:520px;
}

.laminae-cta-content p{

    max-width:520px;

    font-size:18px;

    line-height:1.9;

    color:#666;
}


/* buttons */

.laminae-cta-buttons{

    width:320px;

    display:flex;

    flex-direction:column;

    gap:18px;

    flex-shrink:0;
}

.laminae-btn-primary,
.laminae-btn-secondary{

    display:flex;

    justify-content:center;

    align-items:center;

    height:64px;

    padding:0 30px;

    border-radius:18px;

    font-size:16px;

    font-weight:600;

    text-decoration:none;

    transition:.35s;
}

.laminae-btn-primary{

    background:#57B8D3;

    color:#fff;
}

.laminae-btn-primary:hover{

    transform:translateY(-3px);

    opacity:.92;
}

.laminae-btn-secondary{

    background:#fff;

    color:#111;

    border:1px solid #ddd;
}

.laminae-btn-secondary:hover{

    border-color:#57B8D3;

    color:#57B8D3;
}


/* ==================================================
   RELATED PRODUCTS
================================================== */

.related.products{

    grid-column:1 / -1;

    margin-top:160px;
}

.related.products > h2{

    font-size:58px;

    line-height:.95;

    letter-spacing:-0.04em;

    margin-bottom:50px;

    color:#111;
}

.related.products ul.products{

    display:grid !important;

    grid-template-columns:repeat(4,1fr);

    gap:26px;

    margin:0 !important;

    padding:0 !important;
}

.related.products ul.products::before,
.related.products ul.products::after{

    display:none !important;
}

.related.products ul.products li.product{

    width:100% !important;

    margin:0 !important;

    padding:0 !important;

    background:#f7f7f7;

    border-radius:32px;

    overflow:hidden;

    transition:.4s;

    position:relative;
}

.related.products ul.products li.product:hover{

    transform:translateY(-6px);
}

.related.products ul.products li.product img{

    width:100% !important;

    height:360px;

    object-fit:cover;

    margin:0 !important;

    transition:transform .8s cubic-bezier(.19,1,.22,1);
}

.related.products ul.products li.product:hover img{

    transform:scale(1.04);
}

.related.products ul.products li.product .woocommerce-loop-product__title{

    font-size:28px !important;

    line-height:1.05;

    letter-spacing:-0.03em;

    padding:30px 30px 14px;

    color:#111;
}

.related.products ul.products li.product .price{

    padding:0 30px 28px !important;

    display:block;

    font-size:20px !important;

    color:#57B8D3 !important;

    margin:0 !important;
}

.related.products ul.products li.product .button{

    display:none !important;
}

.related.products span.onsale{

    top:20px !important;

    left:20px !important;
}


/* ==================================================
   MOBILE
================================================== */

@media(max-width:980px){

    .single-product div.product{

        grid-template-columns:1fr;

        gap:60px;

        padding:40px 22px;
    }

    .single-product div.product div.images{

        position:relative;

        top:auto;
    }

    .single-product .woocommerce-product-gallery{

        padding:20px;
    }

    .single-product .woocommerce-product-gallery__image img{

        height:auto;
    }

    .laminae-product-title{

        font-size:46px;
    }

    .laminae-product-intro{

        font-size:16px;
    }

    .single-product .price{

        font-size:34px !important;
    }

    .laminae-features-inline{

        grid-template-columns:repeat(2,1fr);
    }

    .single-product form.cart{

        flex-direction:column;

        align-items:stretch;
    }

    .single-product .quantity{

        width:100%;
    }

    .laminae-section-head h2{

        font-size:40px;
    }

    .laminae-inspiration-grid{

        grid-template-columns:1fr;
    }

    .laminae-inspiration-item img,
    .laminae-inspiration-item:first-child img,
    .laminae-inspiration-item:nth-child(2) img,
    .laminae-inspiration-item:nth-child(3) img,
    .laminae-inspiration-item:nth-child(4) img{

        height:240px;
    }

    .laminae-specs-grid{

        grid-template-columns:1fr;
    }

    .laminae-specs-table{

        padding:28px;
    }

    .laminae-spec-row{

        flex-direction:column;

        align-items:flex-start;

        gap:10px;
    }

    .laminae-spec-row strong{

        text-align:left;
    }

    .laminae-cta{

        padding:40px 28px;

        flex-direction:column;

        gap:40px;
    }

    .laminae-cta-content h2{

        font-size:42px;
    }

    .laminae-cta-buttons{

        width:100%;
    }

    .related.products ul.products{

        grid-template-columns:1fr;
    }

}
.woocommerce .woocommerce-breadcrumb {
       display: none!important;
}

.sector-card{
  transition: transform .3s ease, box-shadow .3s ease;
}
.sector-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 24px 48px -28px rgba(16,23,27,.3);
}

.sector-link{ display:inline-flex; align-items:center; gap:8px; }
.sector-link .arrow-icon{ transition: transform .25s ease; }
.sector-link:hover .arrow-icon{ transform: translateX(4px); }


.wpcf7-form{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.wpcf7-form p{ margin:0; }
.wpcf7-form label{
  display:flex;
  flex-direction:column;
  gap:8px;
  font-family:'Prompt', sans-serif;
  font-size:.82rem;
  font-weight:600;
  color:#57666c;
}
.wpcf7-form-control{
  border:1px solid #dde0df !important;
  border-radius:6px !important;
  padding:14px 16px !important;
  font-family:'Inter', sans-serif !important;
  font-size:.95rem !important;
  width:100%;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.wpcf7-form-control:focus{
  outline:none !important;
  border-color:#4ea7bc !important;
  box-shadow:0 0 0 3px #e9f4f6 !important;
}
textarea.wpcf7-form-control{ min-height:130px; resize:vertical; }

.wpcf7-submit{
  background:#4ea7bc !important;
  color:#fff !important;
  border:none !important;
  border-radius:6px !important;
  height:52px;
  padding:0 28px !important;
  font-family:'Prompt', sans-serif !important;
  font-weight:600 !important;
  font-size:.95rem !important;
  cursor:pointer;
  transition:background .25s ease, transform .25s ease;
}
.wpcf7-submit:hover{
  background:#357c8e !important;
  transform:translateY(-2px);
}

.wpcf7-not-valid-tip{
  color:#c0392b;
  font-size:.8rem;
  margin-top:4px;
}
.wpcf7-response-output{
  border-radius:6px !important;
  padding:14px 16px !important;
  font-size:.9rem;
  margin-top:18px !important;
}

/* ============================
   REALIZZAZIONI — griglia card
   ============================ */
.laminae-realizzazioni-grid{
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:28px;
	margin:32px 0;
}
@media (max-width:940px){
	.laminae-realizzazioni-grid{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width:640px){
	.laminae-realizzazioni-grid{ grid-template-columns:1fr; }
}

.laminae-realizzazione-card{
	background:#fff;
	border:1px solid #dde0df;
	border-radius:20px;
	overflow:hidden;
	padding-bottom:20px;
	transition:transform .25s ease, box-shadow .25s ease;
}
.laminae-realizzazione-card:hover{
	transform:translateY(-4px);
	box-shadow:0 16px 32px rgba(16,23,27,.10);
}

.laminae-realizzazione-media{
	width:100%;
	aspect-ratio:16/10;
	overflow:hidden;
	background:#e9f4f6;
}
.laminae-realizzazione-media img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

.laminae-realizzazione-tag{
	display:inline-block;
	margin:16px 20px 0;
	padding:5px 14px;
	border-radius:999px;
	background:#e9f4f6;
	color:#357c8e;
	font-size:.78rem;
	font-weight:600;
	letter-spacing:.02em;
	text-transform:uppercase;
}

.laminae-realizzazione-card h3{
	margin:12px 20px 0;
	font-size:1.15rem;
	line-height:1.35;
}
.laminae-realizzazione-luogo{
	color:#6b7573;
	font-weight:400;
	font-size:.9em;
}

.laminae-realizzazione-card > p{
	margin:10px 20px 0;
	color:#4a5250;
	font-size:.95rem;
	line-height:1.5;
}

.laminae-realizzazione-link{
	display:inline-block;
	margin:14px 20px 0;
	color:#357c8e;
	font-weight:600;
	text-decoration:none;
}
.laminae-realizzazione-link:hover{
	text-decoration:underline;
}

/* galleria immagini multiple dentro la card */
.laminae-realizzazione-gallery{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin:14px 20px 0;
}
.laminae-realizzazione-thumb{
	display:block;
	width:64px;
	height:64px;
	border-radius:8px;
	overflow:hidden;
	border:1px solid #dde0df;
}
.laminae-realizzazione-thumb img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
	transition:transform .2s ease;
}
.laminae-realizzazione-thumb:hover img{
	transform:scale(1.08);
}

.laminae-realizzazione-card > p,
.laminae-realizzazione-card h3{
	overflow-wrap:break-word;
	word-break:break-word;
}

.laminae-glossario-index{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-bottom:32px;
}
.laminae-glossario-index a{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:32px;
	height:32px;
	border-radius:50%;
	background:#e9f4f6;
	color:#357c8e;
	font-weight:600;
	text-decoration:none;
	transition:background .2s ease, color .2s ease;
}
.laminae-glossario-index a:hover{
	background:#357c8e;
	color:#fff;
}

.laminae-glossario-letter{
	margin:40px 0 12px;
	padding-bottom:8px;
	border-bottom:2px solid #4ea7bc;
	color:#10171b;
	font-size:1.6rem;
}
.laminae-glossario-letter:first-of-type{
	margin-top:0;
}

.laminae-glossario-terms{
	margin:0;
}
.laminae-glossario-terms dt{
	font-weight:700;
	font-size:1.05rem;
	color:#10171b;
	margin-top:20px;
}
.laminae-glossario-terms dd{
	margin:6px 0 0;
	color:#4a5250;
	line-height:1.6;
}