/* ---------------------------------------------------------------------------
 * Elementor container reset — containers arrive as flex boxes with their own
 * padding, gap and width. The page's own rules below decide all of that.
 * Two class repetitions, so the page rules (four) still override this.
 * --------------------------------------------------------------------------- */
.dogge-cakes.dogge-cakes.e-con, .dogge-cakes.dogge-cakes .e-con{
  --padding-top:0px; --padding-right:0px; --padding-bottom:0px; --padding-left:0px;
  --margin-top:0px; --margin-right:0px; --margin-bottom:0px; --margin-left:0px;
  --gap:0px; --row-gap:0px; --column-gap:0px;
  --width:auto; --content-width:100%; --min-height:0;
  display:block; padding:0; margin:0; gap:0; width:auto; max-width:none; border-radius:0;
  /* Elementor defaults containers to column; several page rules say only `display:flex` and
     expect CSS's normal row. Rules that want a column state it explicitly. */
  --flex-direction:row; flex-direction:row;
}


.dogge-cakes.dogge-cakes.dogge-cakes{
  --indigo:#01008C; --indigo-2:#3b39c9; --indigo-d:#05044f; --cream:#FBF7EF; --cream-2:#F3ECDD;
  --ink:#171532; --muted:#6f6f76; --gold:#E8A33D; --coral:#FF6F61; --teal:#2DBDB0; --pink:#FF8FB1; --sky:#5AA9E6;
  --ring:rgba(1,0,140,.14); --pill:999px; --shadow:0 18px 44px -20px rgba(1,0,140,.4);
  font-family:europa,"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif; color:var(--ink); line-height:1.6;
  -webkit-font-smoothing:antialiased; margin:0 auto; max-width:1500px;
}
.dogge-cakes.dogge-cakes.dogge-cakes *{box-sizing:border-box}
.dogge-cakes.dogge-cakes.dogge-cakes h1,.dogge-cakes.dogge-cakes.dogge-cakes h2,.dogge-cakes.dogge-cakes.dogge-cakes h3{font-family:"Comic Sans MS","Chalkboard SE","Comic Neue",cursive; line-height:1.08; color:var(--ink); margin:0}
.dogge-cakes.dogge-cakes.dogge-cakes p{margin:0 0 1rem}
.dogge-cakes.dogge-cakes.dogge-cakes a{color:var(--indigo)}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-sec.dc-sec{padding:clamp(2.2rem,5vw,4rem) clamp(1.1rem,4vw,2.4rem)}
.dogge-cakes.dogge-cakes.dogge-cakes .ico{display:inline-block; vertical-align:middle; fill:currentColor}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-eyebrow{display:inline-flex; align-items:center; gap:.4rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase;
  font-size:.7rem; color:var(--indigo); background:var(--ring); padding:.35rem .8rem; border-radius:var(--pill); margin-bottom:1rem}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-eyebrow .ico{width:15px; color:var(--gold)}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-btn{display:inline-flex; align-items:center; gap:.5rem; cursor:pointer; background:var(--indigo); color:#fff !important;
  text-decoration:none; font-weight:800; padding:.95rem 1.8rem; border-radius:var(--pill); border:0; box-shadow:var(--shadow);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-btn:hover{transform:translateY(-3px); background:var(--indigo-2)}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-btn .ico{width:18px; color:var(--gold)}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-btn--ghost{background:transparent; color:#fff !important; box-shadow:none; border:2px solid rgba(255,255,255,.5)}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-btn--ghost .ico{color:#fff}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-btn--ghost:hover{background:rgba(255,255,255,.14); border-color:#fff}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-btn--light{background:#fff; color:var(--indigo) !important; box-shadow:0 14px 30px -16px rgba(0,0,0,.4)}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-btn--light .ico{color:var(--gold)}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-btn--light:hover{background:#fff; color:var(--indigo) !important}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-btn--gold{background:var(--gold); color:var(--indigo) !important; box-shadow:0 14px 30px -16px rgba(232,163,61,.7)}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-btn--gold .ico{color:var(--indigo)}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-btn--gold:hover{background:#f2b455; color:var(--indigo) !important}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-lead{font-size:clamp(1.04rem,2vw,1.2rem); color:#34324f; max-width:52ch}
.dogge-cakes.dogge-cakes.dogge-cakes h2{font-size:clamp(1.7rem,3.8vw,2.6rem)}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-head{max-width:60ch; margin-bottom:1.8rem}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-hero{position:relative; overflow:hidden; border-radius:30px; margin:1rem clamp(.4rem,2vw,1rem) 0; color:#fff;
  background:radial-gradient(120% 130% at 100% 0,#2b2aa6 0,var(--indigo) 55%,var(--indigo-d) 100%);
  display:grid; grid-template-columns:1.1fr .95fr; gap:1.8rem; align-items:center; padding:clamp(2.4rem,6vw,4.4rem) clamp(1.4rem,5vw,3.4rem)}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-hero::after{content:""; position:absolute; inset:0; pointer-events:none; opacity:.15;
  background-image:none; background-size:90px 90px;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 40%); mask-image:linear-gradient(180deg,transparent,#000 40%)}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-hero__copy{position:relative; z-index:2}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-hero .dc-eyebrow{background:rgba(255,255,255,.16); color:#fff}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-hero .dc-eyebrow .ico{color:var(--gold)}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-hero h1{color:#fff; font-size:clamp(2.1rem,5.2vw,3.4rem); max-width:16ch}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-hero .dc-lead{color:#e9e8ff; margin-top:.6rem; max-width:46ch}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-cta{display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.5rem}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-safe{display:inline-flex; align-items:center; gap:.5rem; margin-top:1.2rem; background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.3); color:#fff; font-weight:800; font-size:.82rem; padding:.45rem .9rem; border-radius:var(--pill)}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-safe .ico{width:18px; color:var(--gold)}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-hero__photo{position:relative; z-index:2; border-radius:22px; overflow:hidden; aspect-ratio:4/5; min-height:240px;
  background-color:#1b1830; background-size:cover; background-position:center; background-repeat:no-repeat;
  border:1px solid rgba(255,255,255,.5); box-shadow:0 30px 60px -24px rgba(0,0,0,.5)}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-paw-bg{position:absolute; z-index:1; fill:#fff; pointer-events:none}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-paw-bg.a{left:3%; top:14%; width:74px; opacity:.10; transform:rotate(-16deg)}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-paw-bg.b{left:8%; bottom:10%; width:104px; opacity:.07; transform:rotate(12deg)}
@media (max-width:860px){
.dogge-cakes.dogge-cakes.dogge-cakes .dc-paw-bg{display:none} }
.dogge-cakes.dogge-cakes.dogge-cakes .dc-cards{display:grid; gap:1.4rem; grid-template-columns:1fr 1fr}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-card{background:#fff; border:1px solid #ece6d8; border-radius:24px; overflow:hidden; display:flex; flex-direction:column;
  box-shadow:0 14px 34px -24px rgba(23,21,50,.6); transition:transform .2s ease, box-shadow .2s ease}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-card:hover{transform:translateY(-5px); box-shadow:0 30px 56px -26px rgba(1,0,140,.42)}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-card .pic{height:230px; background-size:cover; background-position:center}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-card .body{padding:1.5rem 1.5rem 1.6rem; display:flex; flex-direction:column; gap:.5rem; flex:1}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-card h3{font-size:1.5rem; color:var(--indigo)}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-card .tags{display:flex; flex-wrap:wrap; gap:.4rem; margin:.1rem 0 .2rem}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-card .tag{background:var(--ring); color:var(--indigo); font-weight:700; font-size:.74rem; padding:.25rem .65rem; border-radius:var(--pill)}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-card p{margin:0; color:#3a3850; font-size:.96rem}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-card .foot{display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:auto; padding-top:.8rem}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-card .price{font-family:"Comic Sans MS",cursive; font-weight:700; color:var(--ink)}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-card .price b{color:var(--indigo); font-size:1.2rem}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-how{background-color:var(--cream); background-image:none; background-size:120px 120px; border-radius:26px; margin:1.6rem clamp(.4rem,2vw,1rem); position:relative; overflow:hidden}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-how::after{content:"🐾"; position:absolute; right:-6px; bottom:-22px; font-size:clamp(5rem,12vw,8rem); opacity:.05; transform:rotate(-12deg)}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-steps{display:grid; gap:1.1rem; grid-template-columns:repeat(4,1fr); position:relative; z-index:1}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-step{position:relative; background:#fff; border:1px solid #ece6d8; border-radius:18px; padding:2rem 1.2rem 1.2rem}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-step .pawnum{position:absolute; top:-22px; left:18px; width:50px; height:50px; filter:drop-shadow(0 6px 10px rgba(1,0,140,.28))}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-step .pawnum .ico{width:50px; color:var(--indigo)}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-step .pawnum span{position:absolute; left:0; right:0; bottom:8px; text-align:center; color:#fff; font-family:"Comic Sans MS",cursive; font-weight:700; font-size:.98rem; line-height:1; text-shadow:0 1px 2px rgba(1,0,140,.5)}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-step h3{font-size:1.05rem; margin:.2rem 0 .3rem}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-step p{font-size:.92rem; color:#3a3850; margin:0}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-customise{display:grid; grid-template-columns:1.2fr 1fr; gap:1.4rem; align-items:center}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-chips{display:flex; flex-wrap:wrap; gap:.6rem; margin-top:.6rem}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-chip{background:#fff; border:1px solid var(--ring); color:var(--indigo); font-weight:700; padding:.5rem 1rem; border-radius:var(--pill)}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-note{background:#fff7e6; border:1px solid #f1d79a; color:#8a5a00; border-radius:18px; padding:1.2rem 1.4rem}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-note h3{color:#8a5a00; font-size:1.1rem; margin-bottom:.3rem}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-bespoke{background:var(--cream-2); border:1px dashed var(--indigo); border-radius:22px; margin:1.6rem clamp(.4rem,2vw,1rem);
  text-align:center}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-bespoke h2{color:var(--indigo)}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-bespoke p{max-width:50ch; margin:.4rem auto 1.2rem; color:#3a3850}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-closing{position:relative; overflow:hidden; text-align:center; color:#fff; border-radius:26px; margin:1.6rem clamp(.4rem,2vw,1rem);
  padding:clamp(2.4rem,5vw,3.6rem) 1.4rem; background:radial-gradient(120% 150% at 0 0,#2b2aa6 0,var(--indigo) 60%,var(--indigo-d) 100%)}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-closing h2{color:#fff}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-closing p{color:#e9e8ff; max-width:46ch; margin:.4rem auto 1.2rem}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-menu-link{text-align:center; color:var(--muted); font-size:.95rem}

@media (max-width:860px){
.dogge-cakes.dogge-cakes.dogge-cakes .dc-hero{grid-template-columns:1fr}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-hero__photo{order:-1; aspect-ratio:16/10}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-cards{grid-template-columns:1fr}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-steps{grid-template-columns:1fr 1fr}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-customise{grid-template-columns:1fr}
}
@media (max-width:600px){
.dogge-cakes.dogge-cakes.dogge-cakes .dc-sec.dc-sec{padding:2rem 1.1rem}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-hero{border-radius:22px}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-steps{grid-template-columns:1fr}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-cta .dc-btn{flex:1 1 auto; justify-content:center} }
@media (prefers-reduced-motion:reduce){
.dogge-cakes.dogge-cakes.dogge-cakes *{transition:none!important} }
.dogge-cakes.dogge-cakes.dogge-cakes .dc-gallery-wrap{background:var(--cream-2); border-radius:26px; margin:1.6rem clamp(.4rem,2vw,1rem); text-align:center}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-gallery{display:flex; flex-wrap:wrap; justify-content:center; gap:1rem}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-gallery img{width:calc((100% - 2rem)/3); aspect-ratio:1/1; object-fit:cover; border-radius:18px; display:block;
  border:1px solid #e7dfcd; box-shadow:0 16px 34px -26px rgba(23,21,50,.65); transition:transform .25s ease}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-gallery img:hover{transform:translateY(-5px) scale(1.01)}
@media (max-width:860px){
.dogge-cakes.dogge-cakes.dogge-cakes .dc-gallery img{width:calc((100% - 1rem)/2)} }
@media (max-width:600px){
.dogge-cakes.dogge-cakes.dogge-cakes .dc-gallery img{width:100%} }
.content_wrap > .sidebar{display:none!important}
.content_wrap > .content{width:100%!important;max-width:100%!important;margin:0!important}
.content_wrap{max-width:1500px!important;width:auto!important;margin-left:auto!important;margin-right:auto!important}
.page_content_wrap{padding-top:1.25rem!important}

/* ============================================================================
 * Elementor bridge — only the places Elementor's markup differs from the
 * hand-coded original. Everything above applies unchanged.
 * ========================================================================== */

.dogge-cakes.dogge-cakes.dogge-cakes .elementor-widget{margin:0}
.dogge-cakes.dogge-cakes.dogge-cakes .elementor-widget-container{margin:0}

/* Widget wrappers are full-width by default, which would stack the button rows. */
.dogge-cakes.dogge-cakes.dogge-cakes .dc-cta > .elementor-widget,
.dogge-cakes.dogge-cakes.dogge-cakes .dc-card .foot > .elementor-widget,
.dogge-cakes.dogge-cakes.dogge-cakes .dc-bespoke > .elementor-widget-button,
.dogge-cakes.dogge-cakes.dogge-cakes .dc-closing > .elementor-widget-button{width:auto; flex:0 0 auto}

/* The hero is a two-column grid. The decorative paws live in an HTML widget, whose wrapper would
   otherwise become a grid item and claim a column — take it out of flow like the SVGs were. */
.dogge-cakes.dogge-cakes.dogge-cakes .dc-hero > .elementor-widget-html{position:absolute; inset:0; pointer-events:none; z-index:1}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-paw-mark{display:block; background:no-repeat center/contain; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='%23ffffff'%3E%3Cellipse cx='32' cy='45' rx='15' ry='12'/%3E%3Cellipse cx='13' cy='31' rx='6' ry='8.5'/%3E%3Cellipse cx='24' cy='18' rx='5.5' ry='8'/%3E%3Cellipse cx='40' cy='18' rx='5.5' ry='8'/%3E%3Cellipse cx='51' cy='31' rx='6' ry='8.5'/%3E%3C/svg%3E")}

/* --- buttons ------------------------------------------------------------- */

/* The original .dc-btn renders at 14px/1.6 — confirmed by probe: adding the class `dc-btn` to a
   bare anchor anywhere on the page drops it from 18px to 14px, so a rule outside this page's CSS
   is matching that class. The rebuilt anchor is `.elementor-button` and never carries `dc-btn`, so
   it does not pick that up; setting the measured values keeps the buttons identical. (Elementor's
   own 15px/1 would otherwise apply.) */
.dogge-cakes.dogge-cakes.dogge-cakes .dc-btn-w .elementor-button{font-size:14px; line-height:1.6}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-btn-w .elementor-button .elementor-button-text::before{
  content:""; display:inline-block; width:18px; height:18px; flex:0 0 auto;
  margin-right:9px; vertical-align:-.18em; background:no-repeat center/contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='%23E8A33D'%3E%3Ccircle cx='24' cy='12' r='4'/%3E%3Cpath d='M10 22c-2.4-8 4-12 9.4-11.4C21.2 5.6 30 5.6 31.6 11.6 39 11 43 17 40 23z'/%3E%3Cpath d='M12 25h24l-2.8 15a3.2 3.2 0 0 1-3.1 2.6H17.9a3.2 3.2 0 0 1-3.1-2.6z'/%3E%3C/svg%3E");
}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-btn-w .elementor-button .elementor-button-content-wrapper{align-items:center}
/* icons inherit the button's colour in the original: indigo on gold, white on ghost */
.dogge-cakes.dogge-cakes.dogge-cakes .dc-btn-w--gold  .elementor-button .elementor-button-text::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='%2301008C'%3E%3Ccircle cx='24' cy='12' r='4'/%3E%3Cpath d='M10 22c-2.4-8 4-12 9.4-11.4C21.2 5.6 30 5.6 31.6 11.6 39 11 43 17 40 23z'/%3E%3Cpath d='M12 25h24l-2.8 15a3.2 3.2 0 0 1-3.1 2.6H17.9a3.2 3.2 0 0 1-3.1-2.6z'/%3E%3C/svg%3E")}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-btn-w--ghost .elementor-button .elementor-button-text::before{content:none}

/* --- eyebrow & safety pill ----------------------------------------------- */
.dogge-cakes.dogge-cakes.dogge-cakes .dc-eyebrow::before{
  content:""; display:inline-block; width:15px; height:15px; flex:0 0 auto;
  background:no-repeat center/contain; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='%23E8A33D'%3E%3Ccircle cx='24' cy='12' r='4'/%3E%3Cpath d='M10 22c-2.4-8 4-12 9.4-11.4C21.2 5.6 30 5.6 31.6 11.6 39 11 43 17 40 23z'/%3E%3Cpath d='M12 25h24l-2.8 15a3.2 3.2 0 0 1-3.1 2.6H17.9a3.2 3.2 0 0 1-3.1-2.6z'/%3E%3C/svg%3E");
}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-safe::before{
  content:""; display:inline-block; width:18px; height:18px; flex:0 0 auto;
  background:no-repeat center/contain; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='%23E8A33D'%3E%3Cellipse cx='32' cy='45' rx='15' ry='12'/%3E%3Cellipse cx='13' cy='31' rx='6' ry='8.5'/%3E%3Cellipse cx='24' cy='18' rx='5.5' ry='8'/%3E%3Cellipse cx='40' cy='18' rx='5.5' ry='8'/%3E%3Cellipse cx='51' cy='31' rx='6' ry='8.5'/%3E%3C/svg%3E");
}

/* --- the numbered paws on "how it works" --------------------------------- */
.dogge-cakes.dogge-cakes.dogge-cakes .dc-step .pawnum{
  background:no-repeat center/contain; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='%2301008C'%3E%3Cellipse cx='32' cy='45' rx='15' ry='12'/%3E%3Cellipse cx='13' cy='31' rx='6' ry='8.5'/%3E%3Cellipse cx='24' cy='18' rx='5.5' ry='8'/%3E%3Cellipse cx='40' cy='18' rx='5.5' ry='8'/%3E%3Cellipse cx='51' cy='31' rx='6' ry='8.5'/%3E%3C/svg%3E");
}

/* --- gallery -------------------------------------------------------------
   Elementor's Gallery widget wraps everything in .gallery > figure.gallery-item, so the flex
   layout moves onto those. Sizing matches the original `.dc-gallery img` exactly, which is what
   made the trailing row centre. */
.dogge-cakes.dogge-cakes.dogge-cakes .dc-gallery .elementor-image-gallery{width:100%}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-gallery .gallery{display:flex; flex-wrap:wrap; justify-content:center; gap:1rem; margin:0}
/* The dazzle theme ships `.gallery-columns-3 .gallery-item{width:33.3333% !important}`, which no
   amount of specificity beats — it ignores the flex gap, so three items plus two 18px gaps
   overflowed the row and wrapped to two-per-row. Matching !important is the only way past it. */
/* The theme also clamps these with `max-width:33.33%`. At three-across that clamp sits just above
   the width so it never bites, which is why the desktop layout was right — but it silently capped
   the two-across and one-across widths below. Every width here needs the matching max-width. */
.dogge-cakes.dogge-cakes.dogge-cakes .dc-gallery .gallery-item{
  width:calc((100% - 2rem)/3) !important; max-width:calc((100% - 2rem)/3) !important;
  margin:0 !important; float:none !important; padding:0;
}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-gallery .gallery-icon{display:block; margin:0}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-gallery .gallery-item img{width:100%; height:auto}
.dogge-cakes.dogge-cakes.dogge-cakes .dc-gallery .gallery-caption{display:none}
/* In the original `.dc-gallery` held the <img>s directly, so it carried the flex layout. Here it is
   an Elementor container wrapping the Gallery widget, and the flex layout has moved to the inner
   `.gallery` above — so leaving this one flex made the widget a flex item that was free to shrink.
   At 390px it collapsed to 71px and took the images down to 13px with it. */
.dogge-cakes.dogge-cakes.dogge-cakes .dc-gallery{display:block}
/* The original stepped the images down to two-across then one-across. Those rules target
   `.dc-gallery img`, but here the width sits on the figure — so restate them for it, matching the
   base rule's !important (which is there to outrank the theme's .gallery-columns-3 width). */
@media (max-width:860px){ .dogge-cakes.dogge-cakes.dogge-cakes .dc-gallery .gallery-item{
  width:calc((100% - 1rem)/2) !important; max-width:calc((100% - 1rem)/2) !important} }
@media (max-width:600px){ .dogge-cakes.dogge-cakes.dogge-cakes .dc-gallery .gallery-item{
  width:100% !important; max-width:100% !important} }

/* The original's last section carried `style="padding-top:0"` inline so the dog-menu link sits
   tight under the closing band. Same thing, as a class — it has to be CSS rather than an Elementor
   padding setting, because .dc-sec's own padding above would override that. */
.dogge-cakes.dogge-cakes.dogge-cakes .dc-sec.dc-sec--flush{padding-top:0}

/* The original's dietary note ended on a <p> that was the last child of its block, so the theme
   zeroed its bottom margin. In the rebuild every text widget's content is a last child, which is
   why the page rules are lifted above that reset — so this one has to be restated. */
.dogge-cakes.dogge-cakes.dogge-cakes .dc-note p:last-child{margin-bottom:0}

/* On mobile the original stretched the hero's two buttons to share the row
   (`@media(max-width:600px){.dc-cta .dc-btn{flex:1 1 auto;justify-content:center}}`). That rule
   still lives above but targets .dc-btn, which the rebuilt anchor does not carry — so the same
   behaviour is applied to the widget wrapper here. */
@media (max-width:600px){
  .dogge-cakes.dogge-cakes.dogge-cakes .dc-cta > .elementor-widget{flex:1 1 auto}
  .dogge-cakes.dogge-cakes.dogge-cakes .dc-cta .elementor-button{width:100%; justify-content:center}
}

/* smooth scrolling, replacing the page's inline <script> */
@media (prefers-reduced-motion:no-preference){ html{scroll-behavior:smooth} }/* The theme gives any Elementor page side margins:
   `.post_content > .elementor{margin-inline:calc(-1 * var(--theme-var-elm_add_page_margins)/2)}`.
   The hand-coded original had no .elementor wrapper, so it never picked those up — leaving them
   makes every band 30px wider than the page it is replacing. This stylesheet is only enqueued on
   its own page, so an unscoped selector here cannot reach anything else. */
/* Repeated class: the theme's rule is the same specificity and its stylesheet loads after
   this one, so an identical selector would lose the tie. */
.post_content > .elementor.elementor{margin-left:0; margin-right:0}
/* The decorative paws were <svg> elements sized by `width` alone — their 1:1 viewBox supplied the
   height. Here they are <span>s painted with a background image, and an empty span has no height,
   so they kept their width and drew nothing at all. */
.dogge-cakes.dogge-cakes.dogge-cakes .dg-paw-mark,
.dogge-cakes.dogge-cakes.dogge-cakes .dc-paw-mark,
.dogge-cakes.dogge-cakes.dogge-cakes .dp-paw-bg,
.dogge-cakes.dogge-cakes.dogge-cakes .pawmark{aspect-ratio:1/1; height:auto}
/* `.pawnum` is positioned against the step card, but Elementor's HTML-widget wrapper is itself
   positioned and so became the containing block — which dropped the badge on top of the heading. */
.dogge-cakes.dogge-cakes.dogge-cakes .dc-step > .elementor-widget-html{position:static}
/* The original centred this one heading with an inline `margin-inline:auto`; every other .dc-head
   on the page is left-aligned, so it has to stay scoped to the gallery band. */
.dogge-cakes.dogge-cakes.dogge-cakes .dc-gallery-wrap .dc-head{margin-left:auto; margin-right:auto}