/*
Theme Name: Avada Child
Description: Thistle & Thorn Floral Studio child theme
Template: Avada
Version: 1.1.2
Text Domain: Avada
*/

:root {
  --tt-paper: #f3ede8;
  --tt-cream: #faf7f1;
  --tt-white: #fffdf9;
  --tt-ink: #292b25;
  --tt-olive: #68745d;
  --tt-deep: #3d483b;
  --tt-blush: #d9bcb4;
  --tt-line: #d6cec5;
  --tt-serif: "Iowan Old Style", "Baskerville", Georgia, serif;
  --tt-sans: "Avenir Next", Avenir, Helvetica, Arial, sans-serif;
}

html { scroll-behavior: smooth; }
body, #wrapper { background: var(--tt-paper); color: var(--tt-ink); }
body, button, input, textarea, select { font-family: var(--tt-sans); }
body { font-size: 16px; line-height: 1.65; }
h1, h2, h3, h4, h5, h6, .fusion-title h1, .fusion-title h2 { font-family: var(--tt-serif); color: var(--tt-ink); font-weight: 400; letter-spacing: -.035em; }
a { color: inherit; }
a:hover { color: var(--tt-olive); }
img { max-width: 100%; }

.fusion-header-wrapper { border-bottom: 1px solid var(--tt-line); }
.fusion-header { background: var(--tt-paper) !important; }
.fusion-header .fusion-row { min-height: 110px; display: flex; align-items: center; justify-content: space-between; }
.fusion-header .fusion-logo { width: 145px; height: 107px; flex: 0 0 145px; position: relative; overflow: hidden; }
.fusion-header .fusion-logo .fusion-logo-link { display: block; width: 145px; height: 107px; position: relative; }
.fusion-header .fusion-logo img.fusion-standard-logo { display: block; position: absolute; width: 210px !important; height: 210px !important; max-width: none !important; left: -33px; top: -48px; object-fit: contain; }
.fusion-header .fusion-logo img.fusion-mobile-logo, .fusion-header .fusion-logo img.fusion-sticky-logo { display: none; }
.fusion-main-menu > ul > li > a:not(.fusion-main-menu-icon) { font-family: var(--tt-sans) !important; color: var(--tt-ink) !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .12em !important; text-transform: uppercase !important; border-top-color: transparent !important; }
.fusion-main-menu > ul > li > a:not(.fusion-main-menu-icon):hover, .fusion-main-menu .current-menu-item > a:not(.fusion-main-menu-icon), .fusion-main-menu .current-menu-parent > a:not(.fusion-main-menu-icon) { color: var(--tt-olive) !important; border-top-color: transparent !important; }
.fusion-main-menu .sub-menu { background: var(--tt-cream) !important; border: 1px solid var(--tt-line) !important; box-shadow: 0 12px 28px rgba(41, 43, 37, .08) !important; }
.fusion-main-menu .sub-menu li { border: 0 !important; }
.fusion-main-menu .sub-menu a { padding: 15px 19px !important; background: transparent !important; color: var(--tt-ink) !important; font: 600 11px/1.3 var(--tt-sans) !important; letter-spacing: .12em !important; text-transform: uppercase !important; }
.fusion-main-menu .sub-menu a:hover, .fusion-main-menu .sub-menu a:focus-visible { background: var(--tt-paper) !important; color: var(--tt-deep) !important; }
.fusion-main-menu a:focus-visible { outline: 2px solid var(--tt-deep); outline-offset: -4px; }
.fusion-mobile-menu-icons a { color: var(--tt-ink) !important; }

body.page #main { padding: 0 !important; background: var(--tt-paper); }
body.page #main > .fusion-row { max-width: none !important; width: 100% !important; }
body.page #content { width: 100% !important; float: none; }
body.page #main .post-content { margin: 0; }
body.page .post-slideshow { display: none; }
.tt-site, .tt-site * { box-sizing: border-box; }
.tt-site { background: var(--tt-paper); overflow: clip; }
.tt-container { width: min(100% - 72px, 1300px); margin-inline: auto; }
.tt-section { padding-block: clamp(76px, 9vw, 146px); }
.tt-section--cream { background: var(--tt-cream); }
.tt-section--olive { background: var(--tt-deep); color: var(--tt-white); }
.tt-section--olive h2, .tt-section--olive h3, .tt-section--olive p { color: var(--tt-white); }
.tt-eyebrow { margin: 0 0 20px; font-size: 11px; font-weight: 700; letter-spacing: .19em; line-height: 1.4; text-transform: uppercase; color: var(--tt-olive); }
.tt-section--olive .tt-eyebrow { color: #c9d0bd; }
.tt-site h1 { font-family: var(--tt-serif) !important; font-weight: 400 !important; color: var(--tt-ink); font-size: clamp(60px, 7vw, 112px); line-height: .96; letter-spacing: -.065em; margin: 0 0 30px; }
.tt-site h2 { font-family: var(--tt-serif) !important; font-weight: 400 !important; color: var(--tt-ink); font-size: clamp(43px, 5vw, 76px); line-height: 1.02; letter-spacing: -.055em; margin: 0 0 28px; }
.tt-site h3 { font-family: var(--tt-serif) !important; font-weight: 400 !important; color: var(--tt-ink); font-size: clamp(27px, 2.4vw, 39px); line-height: 1.1; margin: 0 0 15px; }
.tt-site p { margin: 0 0 22px; font-weight: 400; }
.tt-site .tt-lead { font-size: clamp(18px, 1.65vw, 22px); line-height: 1.55; max-width: 620px; font-weight: 400 !important; }
.tt-small { font-size: 14px; line-height: 1.7; }
.tt-button { display: inline-flex; align-items: center; justify-content: center; min-width: 178px; padding: 14px 18px; border: 1px solid var(--tt-ink); background: transparent; color: var(--tt-ink) !important; font: 700 11px/1.2 var(--tt-sans); letter-spacing: .14em; text-transform: uppercase; text-decoration: none !important; cursor: pointer; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.tt-button:hover { background: var(--tt-ink); color: var(--tt-white) !important; }
.tt-button--dark { background: var(--tt-deep); color: var(--tt-white) !important; border-color: var(--tt-deep); }
.tt-button--dark:hover { background: var(--tt-ink); }
.tt-section--olive .tt-button { border-color: var(--tt-white); color: var(--tt-white) !important; }
.tt-section--olive .tt-button:hover { background: var(--tt-white); color: var(--tt-deep) !important; }
.tt-text-link { display: inline-block; padding-bottom: 6px; border-bottom: 1px solid currentColor; color: var(--tt-ink) !important; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; text-decoration: none !important; }
.tt-text-link:hover { color: var(--tt-olive); }

.tt-hero { min-height: 720px; display: grid; grid-template-columns: minmax(0, 46%) minmax(0, 54%); }
.tt-hero-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 85px clamp(36px, 7vw, 140px); }
.tt-hero-copy p.tt-lead { max-width: 445px; }
.tt-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 28px; margin-top: 24px; }
.tt-hero-media { position: relative; min-height: 640px; overflow: hidden; }
.tt-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 38%; display: block; }
.tt-hero-note { position: absolute; left: 28px; bottom: 26px; padding: 9px 13px; background: var(--tt-cream); color: var(--tt-ink); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.tt-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(50px, 8vw, 130px); align-items: start; }
.tt-intro p { max-width: 540px; }
.tt-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(48px, 8vw, 135px); }
.tt-split--reverse .tt-photo { order: 2; }
.tt-split .tt-copy { max-width: 510px; }
.tt-photo { width: 100%; margin: 0; }
.tt-photo img { width: 100%; height: auto; display: block; object-fit: cover; }
.tt-photo--tall img { aspect-ratio: 4/5; }
.tt-photo--square img { aspect-ratio: 1; }
.tt-photo figcaption { margin-top: 10px; color: #5e6259; font-size: 12px; }
.tt-shop-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 42px; }
.tt-shop-head h2 { margin-bottom: 0; }
.tt-shop-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.tt-shop-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tt-shop-categories { padding-top: 0; }
.tt-shop-preparing { margin: 38px 0 0 !important; padding-top: 25px; border-top: 1px solid var(--tt-line); font-size: 14px; }
.tt-shop-tile { text-decoration: none !important; }
.tt-shop-tile img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; transition: transform .35s ease; }
.tt-shop-tile .tt-crop { overflow: hidden; }
.tt-shop-tile:hover img { transform: scale(1.025); }
.tt-shop-tile h3 { font-size: clamp(26px, 2.6vw, 39px); margin: 18px 0 5px; }
.tt-shop-tile p { font-size: 14px; color: #5b6257; margin: 0; }
.tt-banner { min-height: 520px; display: grid; grid-template-columns: 1fr 1fr; background: var(--tt-deep); color: var(--tt-white); }
.tt-banner img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tt-banner-copy { padding: clamp(60px, 7vw, 130px); align-self: center; }
.tt-banner h2, .tt-banner p { color: var(--tt-white); }
.tt-section--olive h2, .tt-section--olive h3, .tt-banner h2 { color: var(--tt-white) !important; }
.tt-page-intro { padding-block: clamp(80px, 10vw, 155px) clamp(60px, 8vw, 105px); }
.tt-page-intro .tt-container { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 6vw; align-items: end; }
.tt-page-intro p.tt-lead { margin: 0 0 9px; }
.tt-photo-grid { display: grid; grid-template-columns: 1.25fr 1fr .8fr; gap: 16px; align-items: stretch; }
.tt-photo-grid img { width: 100%; height: 500px; display: block; object-fit: cover; }
.tt-photo-grid img:nth-child(2) { height: 440px; margin-top: 60px; }
.tt-photo-grid img:nth-child(3) { height: 380px; margin-top: 120px; }
.tt-quote { max-width: 980px; margin: 0 auto; text-align: center; font: 400 clamp(30px, 3.5vw, 54px)/1.2 var(--tt-serif); letter-spacing: -.04em; }
.tt-gallery-two { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; }
.tt-gallery-two img { width: 100%; height: 560px; object-fit: cover; display: block; }
.tt-gallery-two img:last-child { height: 470px; margin-top: 90px; }
.tt-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 35px; padding-top: 24px; border-top: 1px solid var(--tt-line); }
.tt-step > span { color: var(--tt-olive); font-size: 12px; }
.tt-step h3 { margin: 30px 0 12px; }
.tt-step p { font-size: 15px; }
.tt-form-wrap { max-width: 760px; }
.tt-form { display: grid; gap: 18px; }
.tt-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.tt-form label { display: block; color: var(--tt-ink); font-size: 12px; font-weight: 700; letter-spacing: .04em; }
.tt-form label input, .tt-form label textarea { display: block; margin-top: 8px; }
.tt-form input, .tt-form textarea { width: 100%; border: 1px solid #bcb7ac; border-radius: 0; background: var(--tt-white); padding: 15px; color: var(--tt-ink); font: 16px/1.4 var(--tt-sans); }
.tt-form input:focus, .tt-form textarea:focus { outline: 2px solid var(--tt-olive); outline-offset: 2px; }
.tt-form button { width: fit-content; margin-top: 4px; }
.tt-honeypot { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.tt-form-message { padding: 14px 18px; background: #e5ebdd; color: #2e482f; }
.tt-form-message--error { background: #f5d9d3; color: #752d26; }
.tt-journal-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.tt-journal-item a { text-decoration: none !important; }
.tt-journal-item img { width: 100%; aspect-ratio: 4/5; object-fit: cover; display: block; }
.tt-journal-item span { display: block; margin: 16px 0 6px; color: var(--tt-olive); font-size: 11px; text-transform: uppercase; letter-spacing: .12em; }
.tt-journal-item h3 { font-size: 31px; }
.tt-empty-note { padding-top: 25px; border-top: 1px solid var(--tt-line); }
.tt-instagram { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 38px; border-top: 1px solid var(--tt-line); }
.tt-instagram p { margin: 0; font: 400 clamp(24px, 3vw, 40px)/1.1 var(--tt-serif); }

.fusion-footer-copyright-area { background: var(--tt-deep) !important; border: 0 !important; padding: 0 !important; }
.fusion-footer-copyright-area .fusion-row { max-width: none !important; width: 100% !important; }
.fusion-copyright-content { display: block !important; width: 100%; }
.tt-footer { padding: 65px clamp(36px, 6vw, 110px) 28px; color: var(--tt-white); }
.tt-footer-main { display: grid; grid-template-columns: 1.3fr .8fr .8fr; gap: 55px; align-items: start; }
.tt-footer img { width: 145px; height: auto; display: block; }
.tt-footer p { max-width: 300px; color: #e4e4d9; font-size: 14px; font-weight: 400 !important; }
.tt-footer h3 { color: var(--tt-white); font: 400 23px/1.2 var(--tt-serif); margin: 0 0 18px; }
.tt-footer a { display: block; width: fit-content; margin: 0 0 9px; color: var(--tt-white) !important; text-decoration: none !important; }
.tt-footer a:hover { text-decoration: underline !important; }
.tt-footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 75px; padding-top: 20px; border-top: 1px solid #82907f; color: #d9ded4; font-size: 11px; letter-spacing: .04em; }

body.woocommerce #main, body.post-type-archive-product #main { background: var(--tt-paper); }
body.post-type-archive-product .woocommerce-info { display: none; }
.woocommerce .products li.product { background: transparent; }
.woocommerce .products li.product .product-title, .woocommerce .products li.product h2 { font-family: var(--tt-serif); font-size: 27px; font-weight: 400; }
.woocommerce .price { color: var(--tt-deep) !important; }
.woocommerce .button, .woocommerce button.button { border-radius: 0 !important; background: var(--tt-deep) !important; color: white !important; }

@media (max-width: 1024px) {
  .tt-hero { min-height: auto; grid-template-columns: 1fr 1fr; }
  .tt-hero-copy { padding: 65px 45px; }
  .tt-hero-media { min-height: 560px; }
  .tt-photo-grid img { height: 390px; }
  .tt-photo-grid img:nth-child(2) { height: 340px; margin-top: 50px; }
  .tt-photo-grid img:nth-child(3) { height: 290px; margin-top: 100px; }
}
@media (max-width: 767px) {
  .tt-container { width: min(100% - 40px, 520px); }
  .fusion-header { padding-top: 0 !important; padding-bottom: 0 !important; }
  .fusion-header .fusion-row { min-height: 84px; }
  .fusion-header-v1.fusion-mobile-menu-design-modern .fusion-header .fusion-logo { margin: 20px 0 !important; width: 108px; height: 80px; flex-basis: 108px; }
  .fusion-header .fusion-logo .fusion-logo-link { width: 108px; height: 80px; }
  .fusion-header .fusion-logo img.fusion-standard-logo { width: 156px !important; height: 156px !important; left: -24px; top: -35px; }
  .tt-section { padding-block: 72px; }
  .tt-site h1 { font-size: clamp(55px, 13vw, 76px); }
  .tt-site h2 { font-size: clamp(42px, 10vw, 58px); }
  .tt-hero, .tt-intro, .tt-split, .tt-banner, .tt-page-intro .tt-container { grid-template-columns: 1fr; }
  .tt-hero-copy { padding: 72px 22px; }
  .tt-hero-actions { flex-direction: column; align-items: flex-start; }
  .tt-hero-media { min-height: 480px; }
  .tt-split--reverse .tt-photo { order: 0; }
  .tt-shop-head { display: block; }
  .tt-shop-head .tt-text-link { margin-top: 22px; }
  .tt-shop-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
  .tt-shop-grid--four { grid-template-columns: 1fr 1fr; }
  .tt-shop-tile:last-child { grid-column: 1 / -1; }
  .tt-shop-grid--four .tt-shop-tile:last-child { grid-column: auto; }
  .tt-shop-tile:last-child img { aspect-ratio: 1.6; }
  .tt-shop-grid--four .tt-shop-tile:last-child img { aspect-ratio: 4/5; }
  .tt-banner img { max-height: 500px; }
  .tt-banner-copy { padding: 65px 22px; }
  .tt-photo-grid { grid-template-columns: 1fr 1fr; }
  .tt-photo-grid img { height: 290px; }
  .tt-photo-grid img:nth-child(2) { height: 240px; margin-top: 50px; }
  .tt-photo-grid img:nth-child(3) { display: none; }
  .tt-gallery-two { grid-template-columns: 1fr 1fr; gap: 10px; }
  .tt-gallery-two img { height: 320px; }
  .tt-gallery-two img:last-child { height: 260px; margin-top: 60px; }
  .tt-steps, .tt-journal-grid { grid-template-columns: 1fr; }
  .tt-steps { gap: 22px; }
  .tt-step h3 { margin-top: 12px; }
  .tt-form-row { grid-template-columns: 1fr; }
  .tt-instagram { display: block; }
  .tt-instagram .tt-text-link { margin-top: 18px; }
  .tt-footer { padding: 52px 22px 25px; }
  .tt-footer-main { grid-template-columns: 1fr 1fr; gap: 42px 20px; }
  .tt-footer-main > div:first-child { grid-column: 1 / -1; }
  .tt-footer-bottom { margin-top: 45px; display: block; }
}
@media (max-width: 430px) {
  .tt-shop-grid { grid-template-columns: 1fr; }
  .tt-shop-grid--four { grid-template-columns: 1fr 1fr; }
  .tt-shop-tile:last-child { grid-column: auto; }
  .tt-shop-tile:last-child img { aspect-ratio: 4/5; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
