/* Homepage */
.ils-hero{padding:72px 0 88px;background:var(--ils-bg);}

.ils-hero__title{font-size:clamp(2.6rem,5.5vw,4rem);line-height:1.1;margin:0 0 20px;padding-bottom:4px;}
.ils-hero__title em{font-style:italic;font-weight:500;}
.ils-hero__sub{font-size:19px;color:var(--ils-ink-soft);max-width:34em;margin:0 0 28px;}
.ils-hero__search{display:flex;max-width:480px;margin:0 0 22px;border:1px solid var(--ils-ink);border-radius:var(--ils-r-sm);overflow:hidden;background:var(--ils-surface);}
.ils-hero__search input{flex:1;border:0;padding:14px 16px;font:inherit;font-size:16px;background:transparent;min-width:0;color:var(--ils-ink);}
.ils-hero__search input::placeholder{color:var(--ils-ink-soft);opacity:1;}
.ils-hero__search input:focus{outline:none;}
.ils-hero__search .ils-btn{border-radius:0;padding:14px 22px;}
.ils-hero__ctas{display:flex;gap:14px;flex-wrap:wrap;}

@media(max-width:900px){.ils-hero{padding:44px 0 60px;}}
/* Header + footer */
.site-header{background:var(--ils-bg);border-bottom:1px solid var(--ils-line);}
.ils-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;}
.ils-logo__word{font-family:var(--ils-serif);font-weight:600;font-size:1.5rem;color:var(--ils-plum);letter-spacing:.12em;}
.ils-logo__word em{font-style:italic;font-weight:500;}
.main-navigation{background:transparent;}
.main-navigation .main-nav ul li a{font-family:var(--ils-sans);font-size:15px;font-weight:500;color:var(--ils-ink);padding-left:14px;padding-right:14px;}
.main-navigation .main-nav ul li a:hover{color:var(--ils-accent);}
.site-footer{background:var(--ils-well);border-top:1px solid var(--ils-line);margin-top:0;}
.site-info{padding:0;}
.ils-footer{padding:56px 0 28px;}
.ils-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;text-align:left;}
.ils-footer__brand p{color:var(--ils-ink-soft);font-size:15px;max-width:34em;margin-top:14px;}
.ils-footer__col{display:flex;flex-direction:column;gap:8px;}
.ils-footer__col h2{margin:0 0 6px;}
.ils-footer__col a{text-decoration:none;color:var(--ils-ink);font-size:15px;}
.ils-footer__col a:hover{color:var(--ils-accent);}
.ils-footer__legal{margin-top:36px;padding-top:20px;border-top:1px solid var(--ils-line);text-align:left;}
.ils-footer__copy{font-size:13px;color:var(--ils-ink-soft);margin:6px 0 0;}
@media(max-width:760px){.ils-footer__grid{grid-template-columns:1fr;gap:28px;}}

/* Hero product image */
.ils-hero__img{width:100%;max-width:440px;height:auto;display:block;margin:0 auto;border-radius:var(--ils-r-md);}

/* Cards */
.ils-card__img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;display:block;border-bottom:1px solid var(--ils-line);}
.ils-stars-line{display:flex;align-items:baseline;gap:2px;margin:2px 0 0;}
.ils-rating-count{font-size:13px;color:var(--ils-ink-soft);margin-left:4px;}

/* Tabs */
.ils-tabs{display:flex;gap:8px;margin-bottom:28px;flex-wrap:wrap;}
.ils-tab{font:inherit;font-size:15px;font-weight:500;padding:10px 22px;border:1px solid var(--ils-line);background:var(--ils-surface);color:var(--ils-ink);border-radius:var(--ils-r-sm);cursor:pointer;}
.ils-tab.is-active{background:var(--ils-ink);border-color:var(--ils-ink);color:var(--ils-bg);}

/* Horizontal scroll */
.ils-hscroll{display:grid;grid-auto-flow:column;grid-auto-columns:260px;gap:20px;overflow-x:auto;padding-bottom:12px;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;}
@media(min-width:900px){.ils-hscroll{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);overflow-x:visible;scroll-snap-type:none;padding-bottom:0;}}
.ils-hscroll .ils-card{scroll-snap-align:start;}

/* Occasion / season */
.ils-split{display:grid;grid-template-columns:1fr 1fr;gap:48px;}
@media(max-width:860px){.ils-split{grid-template-columns:1fr;}}
.ils-occasions{display:flex;flex-direction:column;}
.ils-occasion{display:flex;justify-content:space-between;align-items:center;padding:14px 4px;border-bottom:1px solid var(--ils-line);text-decoration:none;font-size:1.2rem;}
.ils-occasion:first-of-type{border-top:1px solid var(--ils-line);}
.ils-occasion__arrow{color:var(--ils-accent);transition:transform .15s;}
.ils-occasion:hover .ils-occasion__arrow{transform:translateX(4px);}

/* Chip cloud */
.ils-chipcloud{display:flex;flex-wrap:wrap;gap:4px;}
.ils-chip--lg{font-size:15px;padding:8px 18px;}

/* VS list */
.ils-vslist{display:flex;flex-direction:column;}
.ils-vsrow{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 4px;border-bottom:1px solid var(--ils-line);text-decoration:none;font-size:1.15rem;flex-wrap:wrap;}
.ils-vsrow:first-of-type{border-top:1px solid var(--ils-line);}
.ils-vsrow__cta{font-size:14px;color:var(--ils-ink-soft);white-space:nowrap;}
.ils-vsrow:hover .ils-vsrow__cta{color:var(--ils-accent);}

/* Article cards */
.ils-article{display:block;text-decoration:none;border-top:2px solid var(--ils-line);padding-top:16px;}
.ils-article:hover h3{color:var(--ils-accent);}
.ils-article h3{font-size:1.35rem;margin:6px 0 10px;transition:color .15s;}
.ils-article__excerpt{font-size:15px;color:var(--ils-ink-soft);margin:0;}

/* Newsletter */
.ils-newsletter{background:var(--ils-well);border-top:1px solid var(--ils-line);}
.ils-newsletter__inner{max-width:560px;text-align:center;}
.ils-newsletter__inner p{color:var(--ils-ink-soft);}
.ils-newsletter__form{display:flex;margin-top:22px;border:1px solid var(--ils-ink);border-radius:var(--ils-r-sm);overflow:hidden;background:var(--ils-surface);}
.ils-newsletter__form input{flex:1;border:0;padding:14px 16px;font:inherit;font-size:16px;min-width:0;background:transparent;}
.ils-newsletter__form input:focus{outline:none;}
.ils-newsletter__form .ils-btn{border-radius:0;}
.ils-card__cta{font-size:14px;font-weight:500;color:var(--ils-accent);margin:10px 0 0;}
.ils-card:hover .ils-card__cta,.ils-article:hover .ils-card__cta{text-decoration:underline;}

/* Core block mapping */
.ils-blocks .wp-block-button__link{background:var(--ils-ink);color:var(--ils-bg);border:1px solid var(--ils-ink);border-radius:var(--ils-r-sm);font-family:var(--ils-sans);font-weight:500;font-size:16px;padding:15px 28px;}
.ils-blocks .wp-block-button__link:hover{background:#3A342C;border-color:#3A342C;}
.ils-blocks .is-style-outline .wp-block-button__link{background:transparent;color:var(--ils-ink);}
.ils-blocks .is-style-outline .wp-block-button__link:hover{background:var(--ils-ink);color:var(--ils-bg);}
.ils-blocks .ils-section{margin:0;}
.ils-blocks .ils-hero{padding:72px 20px 88px;}
.ils-blocks .ils-section{padding-left:20px;padding-right:20px;}
.ils-more-inline{font-size:15px;margin:-14px 0 24px;}
.ils-more-inline a{color:var(--ils-ink-soft);text-decoration:none;border-bottom:1px solid var(--ils-line);}
.ils-more-inline a:hover{color:var(--ils-accent);border-color:var(--ils-accent);}

.ils-logo{display:inline-flex;flex-direction:column;gap:1px;}
.ils-logo__row{display:inline-flex;align-items:center;gap:8px;}
.ils-logo__tag{font-family:var(--ils-sans);font-size:10px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--ils-ink-soft);padding-left:2px;}
.ils-blocks .wp-block-button__link{background:var(--ils-plum);border-color:var(--ils-plum);}
.ils-blocks .wp-block-button__link:hover{background:#4A3A6B;border-color:#4A3A6B;}
.ils-blocks .is-style-outline .wp-block-button__link{background:transparent;color:var(--ils-plum);}
.ils-blocks .is-style-outline .wp-block-button__link:hover{background:var(--ils-plum);color:var(--ils-bg);}
.ils-tab.is-active{background:var(--ils-plum);border-color:var(--ils-plum);}
@media(max-width:560px){.ils-logo__tag{display:none;}}

/* Desktop homepage polish */
.ils-blocks .ils-hero{padding:64px 20px 76px;}
.ils-blocks .ils-hero .wp-block-columns{gap:56px;align-items:center;}
.ils-blocks .ils-hero .wp-block-image{margin:0;}
.ils-blocks .ils-hero .wp-block-image img{max-width:420px;width:100%;height:auto;display:block;margin:0 auto;border-radius:var(--ils-r-md);}
.ils-blocks .ils-hero__ctas{margin-top:10px;}
.ils-blocks .ils-section{padding-top:60px;padding-bottom:60px;}
.ils-blocks h2.wp-block-heading{margin-top:0;margin-bottom:10px;}

.ils-blocks .wp-block-columns .wp-block-heading{margin-bottom:6px;}
@media(min-width:1100px){.ils-blocks .ils-hero__title{font-size:3.5rem;}.ils-blocks .ils-hero__sub{font-size:20px;}}
@media(max-width:781px){.ils-blocks .ils-hero{padding:40px 16px 52px;}.ils-blocks .ils-section{padding-top:44px;padding-bottom:44px;}}